У меня проблема с моим запросом, он ничего не возвращает.PDO-запрос ничего не возвращает
if($champ == "type_id")
{
$bdd = new PDO("mysql:dbname=maruecondi_db;host=localhost","root","");
$request = $bdd->prepare('SELECT * FROM type_commercant WHERE type=:old');
$request->execute(array(':old' => $old));
while($row = $request->fetch())
{
$bdd1 = new PDO("mysql:dbname=maruecondi_db;host=localhost","root","");
$request1 = $bdd1->prepare('UPDATE commercant SET type_id=:type_id WHERE id=:id');
$request1->execute(array(':type_id' => $row['id'],':id' => $id));
}
}
Я получаю переменные из Ajax запроса (Jquery) и я инициализировать их раньше, я избежать вам код. Другие запросы на страницу работают. У меня в настоящее время нет способа узнать, получилось ли что-то неправильно, из-за вызова ajax. (Нет php orange boxes/pdo message) Я попытался решить проблемы, и я обнаружил, что мы идем в if. Я удалил первый запрос, который содержит время, я заменил $ row ['id'] на значение, и я работал. С самого начала я продолжаю копировать и вставлять соединение с моей базой данных, поэтому никаких проблем.
Так моя проблема здесь:
$request = $bdd->prepare('SELECT * FROM type_commercant WHERE type=:old');
$request->execute(array(':old' => $old));
while($row = $request->fetch())
Я не понимаю, что я сделал неправильно ...
$request = $bdd->prepare('SELECT * FROM type_commercant');
$request->execute();
while($row = $request->fetch())
Это работает, поэтому я попытался это:
$request = $bdd->prepare('SELECT * FROM type_commercant');
$request->execute();
while($row = $request->fetch())
{
if($row['type'] == $old)
{
$request1 = $bdd->prepare('UPDATE commercant SET type_id=:type_id WHERE id=:id');
$request1->execute(array(':type_id' => $row['id'],':id' => $id));
}
}
Мы не входим в условие if ($ row ['type'] == $ old), но я удаляю это условие, и когда я заменяю что-то вроде этого:
while($row = $request->fetch())
{
$request1 = $bdd->prepare('UPDATE commercant SET adresse=:type_id WHERE id=:id');
$request1->execute(array(':type_id' => $row['id'],':id' => $id));
}
Он работает ... я проверил $ строки [ 'типа'], $ строки [ 'ID'], $ старый в массиве (': type_id' => $ строки [ 'ID'], все переменная получила строку. Так в чем проблема? Спасибо заранее!
'$ old' установлен и когда вы выполняете запрос по записи БД, возвращаются? – chris85
Yup $ old установлен в моем php-файле и в моей базе – hardworker
Почему вы продолжаете подключаться к PDO? Вам нужно только подключиться ** ONCE **. соединение внутри цикла - это смехотворная трата ресурсов. –