@evgen_nova

Ошибка в коде php, как понять где?

Где то в коде ошибка, не могу понять где?

if(!$db) {

    echo 'ERROR: Could not connect to the database.';
} else {

    if(isset($_POST['queryString'])) {
        $queryString = $_POST['queryString'];

        if(strlen($queryString) > 0) {

 
        $query = $db->query("SELECT name FROM MS_store WHERE name LIKE '$queryString%' LIMIT 10");
		
        if($query) {

            while ($result = $query->fetch_object()) {

            echo '</li><li onclick="fill(''.$result->value.'');
                        ">'.$result->value.'</li>';
            }
        } else {
            echo 'ERROR: There was a problem with the query.';
        }
    } else {

    }
} else {
    echo 'There should be no direct access to this script!';
}
}
  • Вопрос задан
  • 304 просмотра
Решения вопроса 1
edli007
@edli007
full stack, team lead
не
if(isset($_POST['queryString'])) {
а
if( array_key_exist( 'queryString', $_POST)) {

$query = $db->query("SELECT name FROM MS_store WHERE name LIKE '$queryString%' LIMIT 10");
инъекция

echo '</li><li onclick="fill(''
синтаксическая ошибка, не экранированы скобки, и после переменной снова, а вообще
echo "</li><li onclick=\"fill( '{$result->value}');\">{$result->value}</li>";
хотя бы так
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
scherbuk
@scherbuk
глянуть в error report
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы