アドバイスを求める初心者です。
この書き方と同様、つまり複数の SQL を同時にクエリする場合、prepare を使用して結果セットを取得するにはどうすればよいですか?
$dbh = new PDO($dbConnString, $dbInfo['username'], $dbInfo['password']);$query = $dbh->query($queryString);$i = 0;foreach ($query as $query2) { $queryReturn[$i] = $query2; $i++;}
私は主に
select SQL_CALC_FOUND_ROWS * from table limit 1,10;select FOUND_ROWS();
誰も残っていない...
If your SQLコマンドは # 1 です。ごめんなさい!
select FOUND_ROWS() は、一度に 1 つの命令のみを実行するというセキュリティ規約に違反するため、実行のために mysql に送信されません
2 つの命令をストアド プロシージャ
delimiter //CREATE PROCEDURE `test`()begin select SQL_CALC_FOUND_ROWS * from table limit 1,10; select FOUND_ROWS();end;//
$queryString = 'call test();';$query = $dbh->query($queryString);do { $rows = $query->fetchAll(); print_r($rows);}while($query->nextRowset());
ありがとうございますxuzuning さん、それでは、ストアド プロシージャを使用せずに、
begin select SQL_CALC_FOUND_ROWS * from table limit 1,10; select FOUND_ROWS(); end;
試してみませんか?
PHP では、純粋に SQL 攻撃を防ぐため、一度に複数の SQL コマンドの実行を許可していません
mysqli 拡張機能を使用する場合は、mysqli_multi_query を使用して一度に複数の SQL コマンドを実行できます。もちろん、安全性は自己責任です
分かりました、ありがとう! ! !
この問題をもう一度見るのを手伝ってくれませんか?素晴らしい! ! !
http://bbs.csdn.net/topics/390388184
ちょっと試してみませんか?
PHP では、純粋に SQL 攻撃を防ぐため、一度に複数の SQL コマンドの実行を許可していません
mysqli 拡張機能を使用する場合は、mysqli_multi_query を使用して一度に複数の SQL コマンドを実行できます。もちろん、安全性はあなたの責任です
ちょっと試してみませんか?
PHP では、純粋に SQL 攻撃を防ぐため、一度に複数の SQL コマンドの実行を許可していません
mysqli 拡張機能を使用する場合は、mysqli_multi_query を使用して一度に複数の SQL コマンドを実行できます。もちろん、安全性はあなたの責任です