我无法弄清楚为什么我的代码中出现此错误。有人能帮我解决这个问题吗?
为了让你知道,我的第43行是
INSERT INTO commentList
<?php
$dbServer='localhost';
$dbUser='root';
$dbPass='password';
$dbName='Guestbook';
mysql_connect("$dbServer", "$dbUser", "$dbPass") or die(mysql_error());
mysql_select_db("$dbName") or die(mysql_error());
mysql_query("CREATE TABLE commentLlist(
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
name VARCHAR(30),
comment VARCHAR(160))")
or die(mysql_error());
// Retrieving data from the url
$name = $_GET['name'];
$comment = $_GET['comment'];
if ( $name != null && $comment != null ) {
INSERT INTO commentList
VALUES("$name", "$comment");
} else if ($name == null) {
INSERT INTO commentList
VALUES("Anonymous", "$comment");
} else if ($comment == null) {
INSERT INTO commentList
VALUES("$name", " has nothing to say!");
$display_string = "<li>";
$display_string .= "$name";
$display_string .= " says";
$display_string .= "$comment";
$display_string .= "<li>";
echo $display_string;
?>
答案 0 :(得分:3)
以下代码错误:
if ( $name != null && $comment != null ) {
INSERT INTO commentList
VALUES("$name", "$comment");
您要做的是将此查询发送到mysql吗?
所以你需要使用mysql_query
函数。所以你应该写这样的东西:
if ( $name != null && $comment != null ) {
mysql_query("INSERT INTO commentList VALUES('".$name."', '".$comment."')");
}
在你的最后一个声明之后,还有一个缺少大括号。
此外,将用户输入直接放入您的查询是一个非常糟糕的主意。您应该使用mysql_real_escape_string()
转义参数。
if ( $name != null && $comment != null ) {
mysql_query("INSERT INTO commentList
VALUES('".mysql_real_escape_string($name)."', '".mysql_real_escape_string($comment)."')");
}