我需要進(jìn)行重復(fù)鍵更新查詢(xún),看起來(lái)我的查詢(xún)中缺少一些東西。此查詢(xún)適用于#in values$insertqry=qa_db_query_sub("INSERT INTO test_table (userid,title, price) VALUES (#,#,#)", $userid, $title, $price);我需要添加 ON DUPLICATE KEY UPDATE。此查詢(xún)適用于重復(fù)更新,但我需要在值中添加 # 以使其 SQL 注入安全。$insertqry = qa_db_query_sub("INSERT INTO test_table (userid,title,price) VALUES ('$userid','$title','$price') ON DUPLICATE KEY UPDATE title='$title', price='$price'");我正在用 # in values 嘗試這個(gè),但似乎沒(méi)有用。$insertqry = qa_db_query_sub("INSERT INTO test_table (userid,title,price) VALUES (#,#,#)",$userid, $title, $price); ON DUPLICATE KEY UPDATE title=#, price=#", $title, $price);這是有關(guān)更新數(shù)據(jù)庫(kù)查詢(xún)以匹配格式的參考。 https://github.com/q2a/question2answer/blob/dev/qa-include/db/post-update.php#L126
1 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
在你的情況下,我猜 userid 是主鍵或唯一鍵......試試吧
$insertqry=qa_db_query_sub("REPLACE INTO test_table (userid,title, price) VALUES (#,#,#)", $userid, $title, $price);
如果唯一鍵或主鍵已經(jīng)存在,替換將自動(dòng)刪除第一條記錄并插入新記錄
編輯:如果你仍然想使用 ON DUPLICATE KEY try..
$insertqry=qa_db_query_sub("INSERT INTO test_table (userid,title, price) VALUES (#,#,#) ON DUPLICATE KEY UPDATE userid= VALUES(userid), title= VALUES(title), price=VALUES(price)", $userid, $title, $price)
- 1 回答
- 0 關(guān)注
- 76 瀏覽
添加回答
舉報(bào)
0/150
提交
取消