我有這樣的代碼不因某種原因MYSQL/PHP慣於更新
$con = mysql_connect("$server", "$user", "$pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db('$db', $con);
// BLOCK 1
$supplier=$_POST["supplier"];
$supplierNowBalance =$_POST["supplierNowBalance"];
$supplierBalance=$supplierNowBalance - $supplier;
mysql_query("UPDATE inv SET balance='".$supplierBalance."' WHERE username='supplier' AND name='bingo'");
echo $supplierBalance;
// END OF BLOCK 1
一切之前和UPDATE語句作品後工作。我將更新語句複製到PHPMyAdmin,它更新得很好!我不明白。由於某種原因,PHP不運行mysql_query
幾個技巧:我在程序中的這塊代碼很少,所以它通過所有的帖子和計算,並更新 我已經嘗試了每種可能的組合爲MySQL查詢(有和沒有的)
############### ANSWER_ _ __ _ __ _ __感謝您的回答,但我弄清楚了。顯然PHP非常希望在連接字符串周圍有雙引號「」。 第6行,當我descrbed數據庫變量
mysql_select_db('$db', $con);
我已經單身qoute,我把它改成雙qoute然後砰一聲,它的工作,感謝
mysql_select_db("$db", $con);
健全檢查:'$水庫=請求mysql_query (「UPDATE inv ....」);如果(!$ res)die(mysql_error());'如果沒有死掉,那麼檢查'mysql_affected_rows($ res);'看看有多少行被更新。如果你有問題,它可能會產生0。順便說一句,你很容易受到SQL注入代碼的方式。在用戶輸入數據上使用'mysql_real_escape_string',並考慮切換到PDO或Mysqli,因爲'mysql_ *'已被棄用。 – drew010 2012-08-07 23:16:36
您可能會失去*雙引號*。 'mysql_select_db($ db,$ con);'工作都一樣。 – 2012-08-07 23:44:31
爲了進一步闡明Majid所說的話,PHP不是*絕望*有雙引號,這是因爲當你使用單引號時,你實際上告訴它使用數據庫「美元符號,字母d,字母b」,它是可能不是數據庫的名稱。 – jprofitt 2012-08-08 00:02:43