Получить последний запрос в мультизапросе PDO - PullRequest
1 голос
/ 15 января 2020

Как получить результат последнего запроса в случае мультизапроса PDO?

Вот пример кода

$sql = <<<OEF
    CREATE TEMPORARY TABLE SELECT * FROM table WHERE ...;

    SELECT * FROM table WHERE ...
OEF;

$stmt = $pdo->prepare($sql);
$stmt->execute($params);

while ($row = $stmt->fetch()) {
    //not work
}

PDO::ATTR_EMULATE_PREPARES установлен в true для выполнения многих запросов одновременно.

1 Ответ

2 голосов
/ 15 января 2020

Просто запустите ваши запросы в отдельных звонках. Это будет намного более чистое и надежное решение

$stmt = $pdo->prepare("CREATE TEMPORARY TABLE SELECT * FROM table WHERE ...");
$stmt->execute($params1);

$stmt = $pdo->prepare("SELECT * FROM table WHERE ...");
$stmt->execute($params2);

while ($row = $stmt->fetch()) {
    // everything is all right
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...