各位大大
我已經寫好一個procedure
PROCEDURE 'checkIn'(in var_stCode char(10), in var_imei char(15), out result int)
在sql command line下測試都OK
像這樣呼叫
call checkin("0981167670", "098611767012345" , @a);
再下
select @ab;
可以收到預期數字
可是我用php pdo調用,始終無法成功
$syntax = 'call checkin(0986117670, 098116767012345, ?)';
$stmt = $cn->prepare($syntax);
$stmt->bindParam(1, $result, PDO::PARAM_INT);
$result = 0;
$stmt->execute();
var_dump($stmt->errorInfo());
errorInfo丟出的訊息:
"OUT or INOUT argument 3 for routine cardrive.checkin is not a variable or NEW pseudo-variable in BEFORE trigger"
拜了google大神後
得到的答案只有
把?換成@a
再用select @a取回
可是我看過php網站
http://php.net/manual/en/pdo.prepared-statements.php也是這種寫法啊
有大大遇過這問題
是有其它地方要加上去?
才能使用官網上的寫法
總覺得應該可以做到
用select @a這種做法
還要多繞一圈