У меня есть небольшая проблема здесь с моим запросом SQL …
Я отладил, где проблема находится и понял, что varchar/text
Столбец, казалось, остановил мою функцию PHP.
Вот мой код:
$queryTest = mysqli_query($link, "SELECT dos_nom,dos_id FROM dossier");
while($dataTest = mysqli_fetch_assoc($queryTest)) {
if($dataTest['dos_id'] == $myparameter) {
$toreturn.= '<option class="text-'.$dataTest['dos_id'].'" value="'.$dataTest['dos_nom'].'" selected>'.$dataTest['dos_nom'].'</option>';
}
}
Проблема в ценности $dataTest['dos_nom']
, Без которого мой запрос работает (он печатает страницу нормально), но я не знаю почему. С этим он не работает (он печатает верхнюю часть страницы и ничего из / после моей функции php) …
Чтобы быть точным, я использую его в функции AJAX.
Заранее спасибо!
РЕДАКТИРОВАТЬ: Я пытался напечатать только 1 строку из «DOS-NOM», это работает! Но когда я пытаюсь распечатать более 1 строки, функция останавливается!
Мой код:
$queryTest2 = mysqli_query($link, "SELECT * FROM dossier");
while($dataTest2 = mysqli_fetch_assoc($queryTest2))
{
$test[0] = $dataTest2['dos_nom'];
}
if($dataTest['dos_id'] == $dos_id)
{
$toreturn.= '<option class="text-'.$dataTest['dos_id'].'" >'.$test[0].'</option>';
}
Таким образом печатается только последняя строка. Если я вставлю WHERE в запрос, это остановит функцию, поэтому я не знаю, что делать!
ОТВЕТ:
Э / А были в моей базе данных, я заменил их на Е и А, проблема решена!
попробуйте использовать функцию addlashes () как
addslashes($dataTest['dos_nom'])
возможно значение содержит некоторую обратную косую черту или некоторые ненужные символы, которые могут нарушать ваш код
Я не вижу ничего плохого в вашем коде, кроме логики — вы выводите только тогда, когда выбрана опция.
Так как вы сказали (ничего не печатает)
Давайте попробуем напечатать что-нибудь:
$queryTest = mysqli_query($link, "SELECT dos_nom,dos_id FROM dossier");
while($dataTest = mysqli_fetch_assoc($queryTest)) {
$selected = ($dataTest['dos_id'] == $myparameter)?' selected ':' ';
$toreturn.= '<option class="text-'.$dataTest['dos_id'].'" value="'.$dataTest['dos_nom'].'" '.$selected.'>'.$dataTest['dos_nom'].'</option>';
}