我正在尝试为表的特定行运行更新,并在每次更新运行时将列的内容增加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;
}
所有这些都无法更新一段时间而不会产生异常。
答案 0 :(得分:0)
mysql_connect()
调用之后,验证是否确实已创建数据库连接资源,如果返回值为false,则开始抛出异常。
mysql_error()
不产生任何内容的一个非常常见的原因是,在同一进程中打开了多个数据库连接。为了避免这种情况
mysql_query()
和mysql_error()
调用中,也开始将db连接资源作为参数传递。