背景
你好,我正在用 PHP 和 MySQL 开发一个实验/教育工具。我是 SQL 新手,但我想从一开始就以正确的方式做事。我对所有变量替换使用 PDO 准备好的语句,并尽可能地反引号(因此,据我了解,它不能移植到非 MySQL 数据库)。关于我的问题,我有一个关于如何进行的想法,但是我需要几个小时来实现(我什至对 SQL 的语法都是新手),所以同时我想我会先创建一个问题以防有人大喊:“这不是办法!” 并节省我数小时的精力。
问题
我想创建一个用户可以从下拉菜单中选择的界面:
- 一张桌子
A
, - 该表上的一个或多个字段,例如
A.x
andA.y
, - 一张桌子
B
, - 该表上的一个或多个字段,例如
B.z
andB.y
,
并且在提交后,代码将执行内部连接,分别匹配每个字段,例如A.x = B.z
、A.y = B.y
等,并返回所有匹配的行。
我的计划是简单地生成一条INNER JOIN
SQL 语句,遍历字段并插入占位符 ( ?
),绑定各自的参数,最后执行语句。
有没有更简单的方法来做到这一点?有没有更好的方法来做到这一点?这会以某种方式被利用吗?
非常感谢,提前。如果在我完成时没有人回应(怀疑),我将发布我的解决方案。
杂项。
假设我将验证
- 用户在 和 之间选择相等数量的
A
字段B
, - 字段和表存在,
- 等等
并且字段名称不必相同:它们将按顺序匹配。(请指出我可能不知道的任何其他细节!)
最终,目标是将这些选择保存在“设置”表中。实际上,用户创建了他们希望每次返回时看到的“视图”。