[英]insert into error sql syntax
我的測試代碼是:
<?php
$connessione = mysql_connect("***", "***", "***");
mysql_select_db("***", $connessione);
$risultato = mysql_query("SELECT * FROM servem_vote", $connessione);
if(mysql_query("INSERT INTO servem_vote (uid,lastvote) VALUES ($uid,now()) ON DUPLICATE KEY UPDATE lastvote=now();
")) {
header('location:/home.php'); }
else {
echo "Error: " . mysql_error(); }
mysql_close($con);
?>
錯誤:您的SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在第1行的'now())ON DUPLICATE KEY UPDATE lastvote = now()'附近使用
D B:
我在哪里做錯了?
您共享的代碼中缺少$uid
。 您不會在任何地方設置該值,但是會嘗試將其用作INSERT查詢的一部分。
如果它來自表單數據,請在嘗試使用它之前從$_REQUEST
超全局變量中獲取它:
$uid = $_REQUEST['uid']
如果它不是MySQL表中的整數,則需要將其用單引號括起來作為語句的一部分。
INSERT INTO servem_vote (uid,lastvote) VALUES ('$uid',now())
ON DUPLICATE KEY UPDATE lastvote=now();
我不知道這行有什么作用:
$risultato = mysql_query("SELECT * FROM servem_vote", $connessione);
您似乎對該查詢的結果集不做任何事情。
最重要的是 :正如許多其他人所說,您需要清理數據,並且應該依靠PDO或mysqli *函數安全地與數據庫交互。 在這里查看答案
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.