2012-10-16 87 views
-3

我在這裏有個問題,無法更新mysql表。WHERE子句不適用於PHP變量

$name="alex"; 

$id='64'; 
$sql=("UPDATE members_general SET first_name='$name' WHERE id='$id' ") or die (mysql_error()); 

if($sql){ 
    echo 'All good'; 

    }else{ 

     echo 'Nothing Happens'; 

     } 

我沒有得到任何錯誤..回聲「所有好」顯示在屏幕上的時候,雖然沒有任何反應表 - 沒有變化。

有什麼建議嗎?

+0

只有一件事情出了錯。你從不執行'UPDATE'查詢。 –

+3

我會建議更多的咖啡。或睡覺。 – deceze

+0

@deceze,true .. – Alex

回答

3

您還沒有執行您的查詢。在您的if ($sql)行中,非空字符串$sql的計算結果爲TRUE,並且無誤地繼續。

$id='64'; 
$sql= mysql_query("UPDATE members_general SET first_name='$name' WHERE id='$id' ") or die (mysql_error()); 
//---^^^^^^^^^^^^^ 

請注意,舊的mysql_*()函數計劃棄用。考慮切換到一個API,該API支持使用參數化查詢的預準備語句,如MySQLiPDO

+0

thanx guys ... sor] ry for your time – Alex

1

你不執行你的發言 - 你只需要創建一個查詢字符串...