words项目笔记
发短说文件post.php文件里有这么一段代码:
// code 1
if (!empty($_POST["post_content"])) {
$sqlInsert = "INSERT INTO words_posts (post_content, post_time, post_category) VALUES ('" . $_POST["post_content"]
. "', now(), '" . $_POST["post_category"] . "')";
/* Connection */
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("fail: " . $conn->connect_error);
}
if ($conn->query($sqlInsert) === TRUE) {
echo "Good Work!";
} else {
echo "error:" . $sql . "<br>" . $conn->error;
}
}
// code 2
$conn->close();
这个页面在服务器上没错,但在本地运行时,出错了。

它说$conn是null。这确实是个问题,第一次进入到这个页面时,不会进入到code 1中代码,$conn自然就是null了,这是个很低级的错误。
我把代码段一改成了这样(把$conn部分拿出来),就可以了 :
// code 1
/* Connection */
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("fail: " . $conn->connect_error);
}
if (!empty($_POST["post_content"])) {
$sqlInsert = "INSERT INTO words_posts (post_content, post_time, post_category) VALUES ('" . $_POST["post_content"]
. "', now(), '" . $_POST["post_category"] . "')";
if ($conn->query($sqlInsert) === TRUE) {
echo "Good Work!";
} else {
echo "error:" . $sql . "<br>" . $conn->error;
}
}
(完)
浙公网安备 33010602011771号