使用PHP共享的参数,我下面的查询:获取在连接查询
"SELECT *
FROM `items`
JOIN `categories`
ON `items`.`category`=`categories`.`cat3`
WHERE `items`.`user_id` = '".$UID."'"
我试图访问items
。来自关联数组的id
字段。问题是,$res['id']
似乎给了我categories
表的ID。
如何更改代码以获取items
表中的ID?
**通过构建带有外部变量的SQL语句,您将使自己对SQL注入攻击敞开大门。**此外,任何带有单引号的输入数据(如名为“O'Malley”)将炸毁你的SQL查询。请了解使用参数化查询(最好是使用PDO模块)来保护您的Web应用程序。 http://bobby-tables.com/php有例子让你开始,并且[这个问题](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in- php)有很多例子的细节。 –
对于未来的代码:你不需要引用/反引用你的专栏和表名。它们只会增加视觉混乱,并且只是让语法错误发生的另一种方式。你需要他们的唯一原因是,如果你的名字是一个保留字,或者你在其中嵌入了空格或标点符号,并且这些是可怕的做法以避免。 –
@AndyLester谢谢,但我采取了'$ UID'的预防措施,以确保查询是安全的。我更喜欢反引号,因为我通常写非常线性的查询。 –