奇怪的事情我有一個奇怪的mysql-事情會在這裏,它是關於下面的代碼:MySQL的 - 用更新和select語句
$res = mysql_query("SELECT * FROM users WHERE group='".$group."'");
if (mysql_num_rows($res)==1) {
$row = mysql_fetch_assoc($res);
$uid = $row['uid'];
$user_update = mysql_query("UPDATE fe_users SET group = 5 WHERE group='".$group."'");
return 'ok';
} else {
return 'not ok';
}
我檢查,如果存在與group = $group
用戶。如果是,則組更新爲5,然後返回字符串「ok」,如果沒有group=$group
的用戶存在,就可以看到字符串「不好」被返回。
這應該很容易,但現在的問題是,如果有一個用戶group=$group
,更新是正確完成的,但不返回「OK」,PHP返回「不好」,就好像更改從上面執行的選擇中更新被追溯地考慮在內。我不明白這一點。任何幫助將非常感激。
Thanx提前, 傑登
什麼是上下文?這是函數的代碼嗎?這是ajax響應的代碼嗎? – alesdario 2012-03-07 19:21:04
這是一個函數,沒有ajax,我建立了一個沒有參數的場景,但仍然是一樣的。如果我從if部分刪除更新查詢,那麼if部分中的所有其他代碼都會正確執行,但如果未刪除update-query,那麼它是執行的if部分中的唯一內容,除了查詢else-part被執行。 – jayden 2012-03-08 19:23:36
這很奇怪,因爲更新查詢在if語句中,而不在else語句中。你能一步步調試你的代碼嗎?如果沒有,請嘗試在update-statement之後放置'die('here')'並查看函數是否停止執行。 – alesdario 2012-03-08 20:11:18