我有下面的PHP脚本,它使用PDO来准备和调用MySQL存储过程。存储过程返回2个行集。第1行包含25行。第二行包含1行。我似乎无法获取nextRowset来获取第二行集。我知道存储过程有效,因为它在我使用mysqli_next_result时工作。感谢...
1。)我做错了什么?
2。)是否有更有效或更安全的方式来编写此脚本?我对所有的ajax调用使用相同的格式。我知道我可以将$ _GET参数绑定到数据类型(字符串,整数)以使其更安全,但存储过程已经这样做了。
<?php
header('Content-type: application/json');
session_start();
if(isset($_SESSION['Logged_In'])){
$r=array();
require('db.inc');
$s=$c->prepare("CALL get_records({$_SESSION['User_ID']},?,?,?)");
$s->execute($_GET);
do{$r[]=$s->fetchAll(PDO::FETCH_NUM);}while($s->nextRowset());
$c=null;
echo json_encode($r);
}
?>