2012-05-30 3 views
0

У меня есть запрос SQL, который, как предполагается, чтобы взорвать символьную строку из: «тотализатора, тат, Тити» в массив («Toto», «тат», «Тити»):запроса Php SQL дает 0 результата

$q = $connexion->db->prepare("UPDATE thesaurus_fr SET synonymes_mots = CONCAT(synonymes_mots, ', ', :synonymes_racine) WHERE synonymes_racine = :synonymes_courant"); 
$syns=explode(",",$_POST['synsList']); 
$syns=array_unique($syns); 
foreach ($syns as $syn) { 
$q->bindValue(":synonymes_racine", $_POST['word']); 
$q->bindValue(":synonymes_courant", $syn); 
$q->execute(); 

} 

В настоящий момент каждая часть запроса, похоже, работает. Это не сбой, но я не получаю никакого результата, что я делаю неправильно? Спасибо за помощь

+0

Что вы имеете в виду, давая 0 результат? Обновление не работает? – xdazz

+1

Поскольку ваш SQL является «ОБНОВЛЕНИЕМ», и вы запускаете простой execute(), вы не получите никаких строк. В противном случае вы можете проверить успешное выполнение. – dezso

+1

Какой результат вы ожидаете? Возвращаемое значение 'execute()' является 'boolean', указывая, был ли запрос успешным. – Config

ответ

1

Размер столбцов колонок. Результат конкатенации может быть слишком длинным.

Во всяком случае, вы должны получить сообщение об ошибке после каждого выполнения с помощью print_r($connexion->db->errorInfo());

http://www.php.net/manual/es/pdo.errorinfo.php

+0

спасибо за ссылку – WizLiz

Смежные вопросы