2015-10-12 5 views
0

Я получаю сообщение об ошибке при извлечении данных из базы данных MySQL с помощью PHP.Неопределенная ошибка переменной при извлечении данных из MySQL

Undefined variable: result in C:\wamp\www\mbdb\Biomarkerresult1.php on line 20 
mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\mbdb\Biomarkerresult1.php on line 20 

Мой выпадающий список кодирования:

<select name="names" value="name"> 

<option value="Biomarker">Select a Biomarker</option> 

<option value="Diagnostic">Diagnostic</option> 

<option value="Prognsotic">Prognostic</option> 

<option value="Predictive">Predictive</option> 

Здесь отображения данных:

<?php 
$con=mysqli_connect('localhost','root','','mbdb'); 
if(mysqli_errno($con)) 
{ 
    echo "Can't Connect to mySQL:".mysqli_connect_error(); 
} 

if(isset($_POST['names'])) 
{ 
    $name = $_POST['names']; 
    $fetch="SELECT * FROM metabolites WHERE Biomarker_Category = '".$name."'"; 
    $result = mysqli_query($con,$fetch); 
} 
while($row=mysqli_fetch_array($result)) 
{ 
    //----- 
} 

Может кто-нибудь помочь мне с этим?

+0

Действительно ли ваш 'Biomarker_Category' правильный.? –

+2

Ваша переменная '$ result' пуста. сначала проверьте свой запрос на phpmyadmin. –

+0

положить 'while' внутри' if' –

ответ

0

В конце ошибки вы видите:

mysqli_fetch_array() ожидает параметр 1, чтобы быть mysqli_result, нуль приведены в C: \ WAMP \ WWW \ mbdb \ Biomarkerresult1.php на линии 20

Это заставляет меня думать, что ваш запрос ничего не возвращает, поэтому $ result определяется как null. Чтобы проверить это, я проверил бы, будет ли $ result равен нулю, прежде чем вы попытаетесь использовать цикл while.

0

Замените код на свой код, и, надеюсь, он будет работать нормально.

<?php 
$con=mysqli_connect('localhost','root','','mbdb'); 
if(mysqli_errno($con)) 
{ 
    echo "Can't Connect to mySQL:".mysqli_connect_error(); 
} 

if(isset($_POST['names'])) 
{ 
    $name = $_POST['names']; 
    $fetch="SELECT * FROM metabolites WHERE Biomarker_Category = '".$name."'"; 
    $result = mysqli_query($con,$fetch);//Seems to be your your posting the data, or u'r using get and post for the same form 

    while($row=mysqli_fetch_array($result)) 
    { 
     //----- 
    } 
} 
+0

Спасибо Jitendra Kumar. Но я не получил, какие изменения я должен внести в своем кодировании. –

+0

Вам нужно написать инструкцию While loop внутри if. –

+0

Я отредактировал эту часть. Но все же я не получаю таблицу результатов на выходной странице. –

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