我正在嘗試爲學校項目製作一個簡單的留言箱。MYSQL INSERT INTO產生錯誤:您的SQL語法出錯
似乎一切工作正常,除了當我嘗試併發送消息。我的sql查詢很簡單,但似乎沒有工作出於某種原因。
<?php
session_start();
require_once("includes/connect.db.php");
$sql = "SELECT * FROM shoutbox";
$result = mysql_query($sql);
echo '<table border=1>';
while($rows = mysql_fetch_assoc($result)){
$sb_username = $rows['username'];
$sb_message = $rows['message'];
$sb_sent_time = $rows['sent_time'];
echo '<tr><td>' . $sb_username . ': </td><td>' . $sb_message;
}
echo '</table>';
?>
<form method=post action=shoutbox.php>
<input type=text name="message">
<input type=submit value="Send!">
</form>
<?php
if(isset($_POST['message'])){
$date = time();
$message = mysql_real_escape_string(htmlentities($_POST['message']));
$username = $_SESSION['user_name'];
$sql = "INSERT INTO shoutbox ('username', 'message', 'time_sent') VALUES ('$username', '$message', '$date')";
mysql_query($sql) or die(mysql_error());
}
?>
產生以下錯誤: 您的SQL語法錯誤;請查看與您的MariaDB服務器版本相對應的手冊,以便在''用戶名','消息','time_sent'附近使用正確的語法)第1行的VALUES('c4sper','hello','1461107151')'
單引號是值的。你的列名應該使用反引號進行轉義。 (\'username \',\'message \',''time_sent \') – bassxzero