mysql_query&更新查询未执行

时间:2011-09-16 14:00:52

标签: php mysql sql-update

我正在尝试为表的特定行运行更新,并在每次更新运行时将列的内容增加1。但是在某些时候查询不会运行,也不会产生异常。有谁知道为什么会发生这种情况?我尝试过以下方法:

$intVersion = $this->intVersion + 1;
$strSql=<<<EOT
UPDATE $this->strQueryTable SET version = '$intVersion' WHERE id = $this->id;
EOT;
$blnQueryOk = mysql_query ( $strSql );

$intVersion = $this->intVersion + 1;
$strSql =<<<EOT
UPDATE $this->strQueryTable SET version = $intVersion WHERE id = $this->id;
EOT;
$blnQueryOk = mysql_query ( $strSql );

$strSql =<<<EOT
UPDATE $this->strQueryTable SET version = version + 1 WHERE id = $this->id;
EOT;
$blnQueryOk = mysql_query ( $strSql );

并且在所有情况下:

if (!$blnQueryOk) {
   throw new Exception(mysql_error ());
   return false;
}

所有这些都无法更新一段时间而不会产生异常。

1 个答案:

答案 0 :(得分:0)

  1. 可能是它实际上是数据库连接调用失败(由于某些与数据库相关的问题,如网络问题或太多的mysql连接等)。你可以尝试这样做:
    • mysql_connect()调用之后,验证是否确实已创建数据库连接资源,如果返回值为false,则开始抛出异常。

  2. mysql_error()不产生任何内容的一个非常常见的原因是,在同一进程中打开了多个数据库连接。为了避免这种情况
    • 在所有mysql_query()mysql_error()调用中,也开始将db连接资源作为参数传递。