【发布时间】:2013-10-14 19:58:30
【问题描述】:
我知道这真的很简单,我已经有几年没接触过 PHP 和 SQL了。
这行得通
$mysqli->query("INSERT INTO
sonyCES2013.registration(id,firstName,lastName,telephone,outlet,comfirm,preferTime,date) 值 (NULL,Cat, '凯瑟琳', “Cat@gmail.com”、“123-456-4561”、“一些文字”、“是”、“下午 4:00” ,'1/09/14')");
这不起作用
$mysqli->query("INSERT INTO
sonyCES2013.registration(id,firstName,lastName,telephone,outlet,comfirm,preferTime,date) 价值观 (NULL,{$fName},{$lName},{$eMail},{$telephone},{$outlet},{$comfirmation},{ $preferTime},{$day})");
帮助,是的,我确实检查了变量是否为空,并且我确实尝试在每个 {} 之间不使用 ``
【问题讨论】:
-
始终使用绑定变量。
-
你需要加引号。
-
您需要在字符串周围添加引号...
'{$fname}', ...但看起来您真的为 sql 注入敞开了大门 -
如有疑问,请打印出您的 SQL 语句,这样更容易阅读。但是正如郁闷所说,你需要查找SQL注入。
-
这是一个非常棒的提示,可以打印出语句并将其与 phpAdmin 生成的语句进行比较。我确实使用正则表达式验证了我的所有查询,我想这还不够。我会调查的。