【发布时间】:2014-12-17 08:26:50
【问题描述】:
我想随机访问使用 PDO Mysql 和 PHP 从存储过程重新调整的结果集。我找到了PDOStatement::nextRowset,但对结果集的访问似乎是顺序的。
编辑 我正在寻找这样的:
$pdo = new PDO("mysql:host=$server;port=$port;dbname=$dbname;charset=utf8", $user, $pass, array(PDO::ATTR_PERSISTENT => false));
$statement = "CALL FooSP()";
$query = $pdo->prepare($statement);
$query->execute();
$query->resultSet[1][0]["ColumnFoo"] // Second Resultset, first row, column "ColumnFoo"
$query->resultSet[3][1]["ColumnBar"] // third Resultset, second row, columna "ColumnBar"
$query->resultSet[0][0]["Column1"] // first Resultset, first row, columna "Column1"
谁能帮帮我?
【问题讨论】:
-
为什么不随机排序查询?前任。
ORDER BY RAND() -
$query->resultSet[rand(0, $query->rowCount()]; -
是的,您需要编辑 FooSP 的声明以在每次调用时返回随机结果。其他方法效率低下,因为这意味着加载您不使用的数据。
-
不,我需要所有结果集。