我被困在php/mysql錯誤,我無法跟蹤。 我的表user_like結構與樣本數據錯誤在同時選擇和更新在mysql
id user_id song_id like
1 1 1 1
2 1 2 0
0表示厭惡和1表示等。 現在我查詢表使用PHP像 http://myhost.net/server/services/songlike.php?uid=1&song_id=1 和我也得到了使用下面的代碼片段中的結果。
$query="select * from atr_like where user_id='$uid' and song_id='$songid' limit 1 ";
$rs = mysql_query($query);
$row = mysql_fetch_assoc($rs);
print_r($row);
echo "<br>";
$like=$row['like'];
echo $like;
我正在成功獲取此值。 我正在做的是,如果像不存在意味着null然後插入像表中。 否則我只是用更新的方式來表示它的價值,如果它是零則一,反之亦然。 在這裏,我收到錯誤。 我的PHP代碼是
if(mysql_num_rows($rs) > 0 && $like!=null)
{
if($like==1)
{
// "user has liked it already so dislike it update like to 0 ";
$query1="update atr_like set like=0 where user_id='$uid' and song_id='$songid'";
}
else
{
//"user has disliked it previously already so update like to 1 ";
$query1="update atr_like set like=1 where user_id='$uid' and song_id='$songid'";
}
}
else
{
echo "first time so insert record . user is going to like";
$query1="insert into atr_like (user_id,song_id,like) values ('$uid','$songid',1)";
}
$rs1 = mysql_query($query1)or die(mysql_error());
mysql_close($conn);
錯誤消息:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like=1 where user_id='1' and song_id='1375'' at line 1.
它是由於MySQL的問題,你不能更新任何記錄,這是目前在先前的查詢的SQL選擇? 語法看起來不錯,但仍然顯示語法錯誤。
請避免使用單 – 2013-02-22 06:30:20
你正在使用MySQL保留名稱作爲列名,請表前綴名atr_like.like = 1 – Saqueib 2013-02-22 06:31:41
真的感謝花費寶貴的時間。你讓你的工作變得簡單。 – 2013-02-22 07:24:45