[英]PHP+MYSQL: Problem with Update query
我在運行此查詢時遇到問題。 我繼續得到錯誤:
您的SQL語法有誤; 檢查與您的MySQL服務器版本對應的手冊以獲取正確的語法,以在第1行的'read ='readd'WHERE user_id ='1'LIMIT 1'附近使用
編碼
$conn = mysql_connect('localhost', 'admin', 'root') or die(mysql_error());
mysql_select_db('main') or die(mysql_error());
$read = "message read";
$set_statuss = "UPDATE inbox ".
"SET read = '".$read."' ".
"WHERE user_id = '".$_SESSION['user_id']."' ".
"LIMIT 1";
編輯:這是表:
CREATE TABLE `inbox` (
`inbox_id` int(5) NOT NULL auto_increment,
`posted_to` int(5) NOT NULL,
`posted_by` int(5) NOT NULL,
`subject` text NOT NULL,
`message` text NOT NULL,
`date_posted` datetime NOT NULL,
`read` text NOT NULL,
PRIMARY KEY (`inbox_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
編輯:更新了查詢,但現在PHP只是顯示為白色。
$read = "read";
$set_statuss = "UPDATE inbox ".
"SET read = '".$read."' ".
"WHERE posted_to = '{$_SESSION['user_id']}' AND inbox_id = '".$_GET['msg_id'];."' ";
mysql_query($set_statuss) or die(mysql_error() . $set_statuss);
地址欄中的網址:
http://localhost:8888/wmin/msg.php?user_id=1&msg_id=2
有人看到我要去哪里了嗎? 謝謝!
我認為它可能將read
作為關鍵字,嘗試對其進行踩踏,即在其周圍使用反引號(以SO的降價語言表示很難;-)。
一方面,如果您使用Heredoc ,它將使您的代碼更易於閱讀。 另外,為什么將其限制為1行? 您如何知道要更新的行?
您應該從mysql_query()
調用中報告錯誤,以查看到底出了什么問題。 我假設$_SESSION['user_id']
是一個數字? 如果未定義,查詢將失敗,這就是為什么您應該記錄和/或報告錯誤和 SQL的原因。
$conn = mysql_connect('localhost', 'admin', 'root') or die(mysql_error());
mysql_select_db('main') or die(mysql_error());
$read = "message read";
$sql = <<<END
UPDATE inbox
SET read = `$read`
WHERE user_id = $_SESSION[user_id]
END;
mysql_query($sql) or die(mysql_error() . ': ' . $sql);
為了安全起見,建議您使用sprintf函數來傳遞參數。
$q = sprintf("UPDATE inbox SET `read` = '%s' WHERE `user_id` = %d LIMIT 1",
$read, $_SESSION['user_id']);
嗨,大家弄清楚出了什么問題:
$read = "message read";
$set_statuss = "UPDATE inbox ".
"SET readd = '".$read."' ".
// changed $_SESSION to $_GET and the ';' after msg_id GET
"WHERE posted_to = '{$_SESSION['user_id']}' AND inbox_id = '".$_GET['msg_id'];."' ";
mysql_query($set_statuss) or die(mysql_error() . $set_statuss);
感謝大家!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.