【问题标题】:Updating table in php-mysql在 php-mysql 中更新表
【发布时间】:2011-08-29 09:49:37
【问题描述】:

我正在编写一个涉及 mysql 的 php 代码。有一次,我必须更新我正在使用以下 2 个语句的数据库中的表。但这些都不起作用。

$temp = $row['tracking_id'];  

mysql_query("UPDATE order_products SET state=4.00 WHERE tracking_id = '$temp'");

请注意,我没有收到错误消息。该表没有更新。还要注意,列名、表名是正确的。我也尝试过在 WHERE 子句中不使用 $temp 周围的单 '' 引号。

与数据库的连接正常。我知道这个 cos 选择查询工作正常。

有什么想法吗?

谢谢

【问题讨论】:

  • 你有没有想过把 '' 放在 4.00 左右?
  • 你回显了 mysql_error(); ? temp 是否包含正确的值?你试过在 4.00 左右添加 '' 吗?
  • 试试这个echo "UPDATE order_products SET state=4.00 WHERE tracking_id = '$temp'"并将答案粘贴到mysql命令行客户端。应该给你你所缺少的细节
  • 是的,我也试过 4.00 左右的报价,没有用
  • @Nibhrit:请发布 mysql_error();你有

标签: php mysql sql


【解决方案1】:

尝试 var_dump temp

var_dump($temp);

并检查查询中的错误

mysql_query("UPDATE order_products SET state=4.00 WHERE tracking_id = '$temp'") or trigger_error(mysql_error()." <here is that problem");

它会给你答案

【讨论】:

  • 是的,有效。看起来有人删除了我正在处理的表。该数据库位于公共服务器上,因此需要一段时间才能弄清楚。 mysql_error 很有帮助。谢谢
  • 求你了,别死!这既不安全又不可用。
  • @Pekka:啊,我瞎了。这绝对不是不安全的,但不可靠,是的。谢谢建议
  • @genesis "insecure" 位是指即使在生产模式下也会显示错误消息,而假设trigger_error() 不会。
【解决方案2】:

首先检查$temp中的值是什么。

如果值没问题,就这样做来回显您的查询。

echo $sql = "UPDATE order_products SET state=4.00 WHERE tracking_id = '$temp'"; $result = mysql_query($sql);

它仅用于测试和检查查询可以吗?试试直接运行看看有没有报错

【讨论】:

    【解决方案3】:

    你是如何获取该行的?

    使用mysql_tetch_rowmysql_fetch_array

    如果您使用fetch_array,它不是关联数组,您不能使用row['something'],只能使用row[index],因此请改用fetch_row

    打印 temp 的值以验证它是否正常,如果仍然找不到问题,请尝试使用 mysql_error() 函数打印最后一个 mysql 错误。

    【讨论】:

    • 行提取工作正常,因为我正在回显此语句上方行的内容
    【解决方案4】:

    请注意,我没有收到错误消息。

    难怪。您必须向数据库询问错误消息。

    $tmp = mysql_real_escape_string($row['tracking_id']);  
    $sql = "UPDATE order_products SET state=4.00 WHERE tracking_id = '$tmp'";
    mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
    var_dump(mysql_affected_rows); //to see if rows were changed.
    

    如果它只打印 0 - 那么您的表中已经有一行具有完全相同的值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-03
      • 2014-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多