【发布时间】:2012-04-29 06:32:28
【问题描述】:
关于这个类似的问题有很多帖子,但我仍然无法为我的代码得到明确的答案,即 PHP 和 MySQL 组合。提交表格后,我总是收到错误消息。肯定和语法有关。有趣的是mysql没有抱怨,我的apache也没有,而是在我的浏览器(firefox)上。
$add_master_sql = "INSERT INTO master_name (date_added, date_modified, f_name, l_name)
VALUES (now(), now(), '".$_POST["f_name"]."', '".$_POST["l_name"]."')";
$add_master_res = mysqli_query($mysqli, $add_master_sql) or die(mysqli_error($mysqli));
而我的MYSQL代码是:
CREATE TABLE master_name (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
date_added DATETIME,
date_modified DATETIME,
f_name VARCHAR (75),
l_name VARCHAR (75)
);
可能与报价有关,但我仔细检查了匹配项,这很好。有人可以帮我解决这个问题吗?
【问题讨论】:
-
Hello SQL 注入。
-
您能发布您收到的错误消息吗?它肯定会有所帮助。
-
你确定这是抛出错误的那一行吗?
-
这条线不太可能导致错误
Unknown column 'address',因为您没有引用任何此类列。一个好的技术是在你执行它之前echo $add_master_sql;,然后直接对你的数据库运行它,例如在 phpMyAdmin 中。 -
正如@Karpie 所说,您的代码容易受到 SQL 注入的攻击。您真的应该使用准备好的语句,将变量作为参数传递到其中,这些参数不会针对 SQL 进行评估。如果你不知道我在说什么,或者如何解决它,请阅读Bobby Tables 的故事。