Если я использую клиент для подключения к MySQL, например, жабу и вызову мою процедуру
У меня есть хранимая процедура, с одной частью кода
UPDATE table Set ...
Where...;
Select Row_Count() Into insertCount;
Select Case insertCount When 0 Then 0 Else 1 End As success;
Когда я вызываю эту процедуру из Toad для 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);
}
}
Работает так же, даже без переменных связывания.
Задача ещё не решена.
Других решений пока нет …