Выполнение 2 запросов в то же время это возможно?
мне Нужно изменить все поля одной таблицы и вставить только в одной строке другой результат. Я использую следующий код
$Nid = intval($_GET['Nid']);
$sql = "UPDATE * FROM programacao SET status='offline' WHERE status ='online' ";
$sql2 = "UPDATE programacao SET status='online' WHERE Nid = :Nid";
try {
$stmt = $DB->prepare($sql);
$stmt = $DB->prepare($sql2);
$stmt->bindValue(":Nid", $Nid);
$stmt->execute();
код работает, но работает только второй query.
1
Author: Daniel Omine, 2016-02-19
1 answers
Такое поведение, как и ожидалось, второй запрос перезаписывает значение - $stmt
, вы можете решить это двумя способами: создать два prepared statemetns или позвонить в два раза excute()
repectivamente после prepare()
Вариант 1 -
$stmt1 = $DB->prepare($sql);
$stmt2 = $DB->prepare($sql2);
$stmt2->bindValue(":Nid", $Nid);
$stmt1->execute();
$stmt2->execute();
Вариант 2 -
$stmt = $DB->prepare($sql);
$stmt->execute();
$stmt->closeCursor();
$stmt = $DB->prepare($sql2);
$stmt->bindValue(":Nid", $Nid);
$stmt->execute();
1
Author: rray, 2016-02-20 00:41:24