2012-10-16 86 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

你不执行你的发言 - 你只需要创建一个查询字符串...