我嘗試向數據庫中插入數據時出錯。所以我做了消息系統。Mysqli查詢錯誤插入數據到數據庫中
下面是代碼:http://pastebin.com/U6SQ907H 這裏是透過代碼:
if(isset($_POST['writemessage'])){
$text = $_POST['text'];
$from = $userid;
$username = $_POST['username'];
//$sql = "SELECT id FROM users WHERE username='$to'";
// $result = mysqli_query($conn,$sql);
// $sendto = mysqli_fetch_array($result,MYSQLI_ASSOC);
$getuserid = 'SELECT ID FROM users WHERE username = "' . mysqli_escape_string($conn,$username) . '"';
$sqluserid = mysqli_query($conn,$getuserid) or die('Error connecting to database');
//$user_id = mysql_result($result, 0, "user_id");
$user_id = mysqli_fetch_array($sqluserid,MYSQLI_ASSOC);
$sendto = $user_id["ID"];
$query_send_mess = "INSERT INTO messages (from, touser, text, date, isread)
VALUES ('$from', '$sendto', '$text',NOW(),0)";
echo "<script>alert('".$query_send_mess."')</script>";
$send_message = mysqli_query($conn,$query_send_mess) or die("Error: ".mysqli_error($conn));
if (!$send_message) {
echo 'Query Failed ';
}
if (mysqli_affected_rows($conn) == 1) { //If the Insert Query was successfull.
echo '<div class="alert alert-success">Message sent successful </div>';
} else { // If it did not run OK.
echo '<div class="alert alert-info">You could not send message due to a system
error. We apologize for any
inconvenience.</div>';
die(mysqli_error($conn));
}
}
但是,當我嘗試發送消息我得到這個錯誤:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from, touser, text, date, isread) VALUES ('2', '3', 'test',NOW(),0)' at line 1
可能是什麼問題
@NaurisLinde太棒了,請在時間過去後接受答案。也請看準備好的陳述。 – chris85
在這裏你可以看到MySQL的關鍵字,以避免它們 - https://dev.mysql.com/doc/refman/5.7/en/keywords.html –
@NaurisLinde是的,我發佈了一個非常類似的鏈接在我的答案。如果它對你有幫助,請接受答案。 – chris85