如果我使用客户端连接到mySQL,例如toad并调用我的过程
我有一个存储过程,其中一部分代码是
UPDATE table Set ...
Where...;
Select Row_Count() Into insertCount;
Select Case insertCount When 0 Then 0 Else 1 End As success;
当我从Toad for MySQL调用这个程序时它运行得很好,当我从PDO调用它时,更新工作但成功总是返回0.即使我使用完全相同的调用,硬编码参数。
有人理解为什么会这样吗?
PHP代码:
function getDBResults($sql, $params=array()) {
global $dbConn;
if ($dbConn==null) { // If there's no connection, do it local
$bLocalConn = true;
dbConnect(true);
} else {
$bLocalConn = false;
}
if (!is_array($params)) {
$params = array($params);
}
$stmt = $dbConn->prepare($sql);
$stmt->execute($params);
return $stmt->fetchAll();
$dbConn->commit();
if ($bLocalConn==true) { //Close connection if made locally
dbConnect(false);
}
}
即使没有绑定变量也能正常工作。