0
我有一個SP 2 IN和4 OUT參數。它在MYSQL中工作正常,但當我使用PHP進行調用時沒有問題。MYSQL存儲過程給出空值
這裏是我的代碼:
try{
//var_dump($mysqli);
// bind the first parameter to the session variable @uid
$stmt = $mysqli->prepare('SET @tid := ?');
$stmt->bind_param('i', $tid);
$stmt->execute();
// bind the second parameter to the session variable @userCount
$stmt = $mysqli->prepare('SET @mid := ?');
$stmt->bind_param('i', $memID);
$stmt->execute();
// execute the stored procedure
$sql_1 = 'CALL supplyRSummary(@tid,@mid,@a,@na,@r,@nv)';
$stmt = $mysqli->prepare($sql_1);
// execute the second query to get values from OUT parameter
$sql_2 = 'SELECT @a,@na,@r,@nv';
$result = $mysqli->query($sql_2);
$rows = $result->fetch_assoc();
if ($rows) {
$a=$rows['a'];
$na=$rows['na'];
$r=$rows['r'];
$nv=$rows['nv'];
var_dump($a);
}
}catch (PDOException $pe){
die("Error occurred:" . $pe->getMessage());
}
這裏,var_dump($a)
給「null
的價值。
任何關於我的代碼有什麼問題的建議?
你不能別名'SELECT'查詢一樣, 。你必須指定列。 – 2015-03-30 17:29:21
SET @ p0 ='1'; SET @ p1 ='9'; CALL'supplyRSummary'(@ p0,@ p1,@ p2,@ p3,@ p4,@ p5); SELECT @ p2 AS'a',@ p3 AS'na',@ p4 AS'r',@ p5 AS'nv';上述 – 2015-03-30 17:33:40
給出正確的結果在MySQL – 2015-03-30 17:34:12