更新查询在php mysql中不起作用

时间:2017-10-11 12:08:23

标签: php mysql

我的查询是:

$q = mysql_query("UPDATE `payment_details` SET `txnid`='$txnid',`amount`='$amount',`email`='$email',`firstname`='$firstname',`phone`='$phone',`productinfo`='$productinfo'  where `id`='$id' ") or die(mysql_error());

但是当我改变id =“1”时它正在工作; 请任何人都可以帮助解决这个问题。

3 个答案:

答案 0 :(得分:1)

在PHP 5.5中不推荐使用mysql_query函数。 将值放在数据库中并不是很酷。

您可以使用php PDO并绑定值

使用bindParam并在PDO中准备以防止SQL注入。

答案 1 :(得分:0)

首先用var_dump($ id);

检查$ id是否有值

第二件事是不要将你的变量放在单引号内,否则它将被视为一个字符串。你需要连接你的变量,或者你可以使用花括号作为串联的替代,它们更快键入和代码看起来更干净。

试试这个: -

$q = mysql_query("UPDATE `payment_details` SET `txnid`='{$txnid}',`amount`='{$amount}',
`email`='{$email}',`firstname`='{$firstname}',`phone`='{$phone}',`productinfo`='{$productinfo}'  
     WHERE `id`='{$id}' ") OR die(mysql_error());

它会正常工作。

答案 2 :(得分:0)

您应首先检查$id的值,然后从那里开始。

var_dump($id);

如果您获得null或空,则表示您有问题。如果获得非空值,请尝试使用您获得的值在mySQL客户端中运行查询。

此外,它将有助于查看您收到的错误消息:)

祝你好运。