2015-06-23 4 views
1

Я создаю страницу профиля собственности для сайта недвижимости. По какой-то причине он не проверяет индекс в базе данных, чтобы узнать, совпадает ли оно с ?id= в адресной строке. Когда я использую код select * from properties, он не показывает никаких ошибок, но когда я добавляю WHERE index='$prop_id', он убивает страницу и ошибку запроса эха. Файл подключения к базе данных включен в верхнюю часть страницы index.php. Может ли кто-нибудь помочь?php mysql_query не найдет индекс

phpMyAdmin

<?php 
    if(isset($_GET['id'])){ 
     $prop_id = mysql_real_escape_string($_GET['id'])or die("get error"); 

      $check = mysql_query("SELECT * FROM properties WHERE index='$prop_id'") or die("query error"); 

    } 
    ?> 
+1

Что означает '$ prop_id'? В стороне, 'mysql_ *' функции устарели, посмотрите на mysqli. –

+1

Я считаю, что запрос уязвим для инъекций SQL? – eNeMetcH

+0

может быть неосторожным на данном этапе разработки –

ответ

3

index является reserved keyword. Исправьте ошибки в запросе. Отсутствующие ' -

"SELECT * FROM properties WHERE `index` = '$prop_id'" 
+0

Хорошо пятнистый, хороший глаз. –

+0

@KevinNagurski Спасибо. –

+0

добавление котировок в индекс не сработало. –

0

Попробуйте, как показано ниже:

"SELECT * FROM properties WHERE `index` = ".$prop_id; 
0

Вы забыли одну одинарную кавычку в запросе. Пожалуйста, замените ваш запрос следующим:

$check = mysql_query("SELECT * FROM properties WHERE index='".$prop_id."'") or die("query error"); 
Смежные вопросы