已关闭。此问题需要更多focused。当前不接受答案。
**想要改进此问题吗?**更新问题,使其仅关注editing this post的一个问题。
4天前关闭。
Improve this question
此查询可以正常工作:$query = "SELECT * from hired WHERE username = 'kaas' and dvd = 'dvd 2'";
但随后我将其更改为以下查询:$query = "SELECT * from hired WHERE username = " . $_SESSION['name'] . " AND dvd = " . $_POST['dvd'];
并且它不起作用,即使值应该与上面的查询相同。它直接返回我的错误消息,* 您的SQL语法中有错误;查看与您的MariaDB服务器版本对应的手册,了解在第1行“2”附近使用的正确语法 *
DVD的名字是“dvd 1”“dvd 2”“dvd 3”。为什么它不工作?我的查询有什么问题吗?
我试着用查询来记录数据,而不是使用session和post,结果和我预期的一样,显示了一个echo。
3条答案
按热度按时间a9wyjsp71#
1.未将字符串值括在引号中
1.出于安全原因,必须使用预处理语句(SQL注入和转义无效值
tkclm6bt2#
它必须是
我忘了在它们周围放一个',所以它会看到它(例如)为'username = Fal'而不是'username = 'Fal'
whitzsjs3#
您必须正确地连接查询中变量请尝试此操作,它将起作用