0
這裏還有一個奇怪的一個:PHP,MYSQL記錄未更新
這裏是我的PHP:
$query = "SELECT iVal, iOwn FROM item WHERE item = ".$_GET['Item'];
$result9 = mysql_query($query, $_SESSION['connect']);
$row9 = mysql_fetch_array($result9);
$query = "UPDATE chars SET chCred = chCred + ".$row9['iVal']." WHERE chNum = ".$row9['iOwn'];
mysql_query($query, $_SESSION['connect']) or die('Error 2:'.mysql_error());
當我運行它,並做$查詢的var_dump我得到這個:
UPDATE chars set chCred = chCred + 100000 WHERE chNum = 2
當我在phpMyAdmin中運行這個查詢時,記錄得到了正確更新,但是當我運行代碼時記錄沒有被更新,我也沒有收到錯誤信息。
您的第一個('SELECT')查詢容易受到SQL注入的影響。你真的**應該使用準備好的語句,將你的變量作爲參數傳遞給你,這些參數不會被SQL評估。如果你不知道我在說什麼,或者如何解決它,請閱讀[Bobby Tables](http://bobby-tables.com)的故事。 – eggyal
如果你使用[一些錯誤處理](http://snipplr.com/view/45252/goede-foutafhandeling-mysql/),你會得到什麼? –
另外,也使用'mysql_error()'的鏈接標識符。 'mysql_error($ _ SESSION ['connect'])' – Shocker