2016-03-06 2 views
0

Я попытался подготовить различные статьи для решения проблемы безрезультатно. Я использую форму для отправки данных в файл php. Затем я пытаюсь найти строку, которая имеет соответствующее значение. Я продолжаю получать эти ошибки: Undefined index: barcode & Попытка получить свойство не-объекта Может ли кто-нибудь помочь мне решить эту проблему?Попытка вернуть строку из базы данных с соответствующей колонкой

//barcode is serialized data from a form and equals 'barcode=2147483647' 

$barcode = $_GET['barcode']; 


$sql = "SELECT id FROM the_DB WHERE barcode = '%$barcode%'"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo 'id:' . $row["id"]. '<br>Name: ' . $row["item_name"]. '<br> Barcode ' . $row["barcode"]. '<br><img src="'.$row["image"].'" height="100px">'; 
    } 
} else { 
    echo "0 results"; 
} 
+0

Вы выбрали только идентификатор? –

+0

Почему вы используете%? Вы имеете в виду штрих-код типа «% ...%»? – sagi

+1

Если вы пытаетесь получить равную запись, попробуйте этот $ sql = "SELECT id FROM the_DB WHERE barcode =". $ Barcode; или вы можете использовать запрос Like, чтобы получить результат сопоставления ключевых слов, например $ sql = "SELECT id FROM the_DB WHERE штрих-код, например%". $ barcode. "%"; – LeoMobDev

ответ

0

следующая возможность для этой ошибки:

  • Проверьте переменную в области видимости.
  • Если у вас есть запрос с другой страницы, проверьте свой запрос.
  • Если вы используете сеанс, он должен быть запущен перед использованием.
  • Эхо и выход для проверки вашей переменной имеют значение или нет.

Вы извлекаете столбец, который не находится в вашем результирующем наборе.

$barcode = $_GET['barcode']; 
if(isset($barcode)) 
{ 

$sql = "SELECT * FROM the_DB WHERE barcode = '%$barcode%'"; 
$result = $conn->query($sql); 

$rows = array(); 
while ($row = mysql_fetch_object($result)) { 
    $rows[] = $row; 

} 

} 
+1

Могу ли я знать причина? для down down –

+0

это означает: $ barcode = $ _GET ['barcode']; "- неопознанный индекс – Rafael

+0

Я не проголосовал – Rafael

0

запрос изменить следующим образом

$sql = "SELECT * FROM the_DB WHERE barcode = '%$barcode%'"; 
+0

Это возвращает эту ошибку: Неопределенный индекс – Rafael

+0

проверить имя столбца таблицы с параметрами – Vigikaran

+0

и в запросе вместо = использовать как ($ sql = "SELECT * FROM the_DB WHERE barcode LIKE '% $ barcode%'";) – Vigikaran

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