2013-02-27 3 views
-1

Я создаю функцию поиска или процесс для выбора из базы данных и отображения данных в списке для выбора стран, которые уже существуют в базе данных MySQL, но у меня есть ошибка, и я не знаю как исправить это может кто-нибудь помочь мне, я новичок в php. ошибка (Предупреждение: mysql_fetch_array() ожидает параметр 1, чтобы быть ресурсом, логический дан в C: \ WAMP \ WWW \ Безымянный сайта 2 \ ресурсы \ searchForm.php на линии 36)php и функция поиска ошибка

search.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Search page</title> 
<link href="style/stylesheet.css" rel="stylesheet" type="text/css" /> 
<style type="text/css"> 
.searchtitle { 
    text-align: center; 
} 
</style> 
</head> 

<body> 

<!--<?php require_once('header.php'); ?>--> 
<table width="80%" height="432"> 
    <tr> 
    <td width="14%" valign="top"><!--<?php require_once('leftsideBar.php'); ?>--> 
</td> 
    <td width="86%" valign="top"><h2 class="searchtitle">Search Types</h2> 
     <table width="95%" height="94"> 
     <form action="searchProcess.php" method="post" id="searchForm"> 

     <tr> 
      <td width="20%"><label for="searchByName2">By Name</label> 
      <select name="searchByName" id="searchByName2"> 
      </select></td> 
      <td width="20%"><label for="searchByCountry">By Country</label> 
      <select name="searchByCountry" id="searchByCountry"> 
      <option id="0">--select your country--</option> 
      <?php 
       require_once('Connections/connfor_lamelchameltest.php'); 

       $getallCountries = mysql_query("SELECT * FROM country"); 
       while($viewallCountries = mysql_fetch_array($getallCountries)){ 

       ?> 

       <option id="<?php echo $viewallCountries['country_id']; ?> "><?php echo $viewallCountries['country_name'] ?></option> 
       <?php } ?> 

      </select></td> 
      <td width="25%"><label for="searchByGovernorate">By Governorate</label> 
      <select name="searchByGovernorate" id="searchByGovernorate"> 
      </select></td> 
      <td width="15%"><label for="searchByCity">By City</label> 
      <select name="searchByCity" id="searchByCity"> 
      </select></td> 
      <td width="20%"><label for="searchBySpecialization">By Specialization</label> 
      <select name="searchBySpecialization" id="searchBySpecialization"> 
      </select></td> 
     </tr> 
     </form> 
     </table> 

    </tr> 
</table> 


</body> 
</html> 

connfor_lamelchameltest.php

<?php 
$hostname_conn = "localhost"; 
$database_conn = "lam_el_chamel_db"; 
$username_conn = "root"; 
$password_conn = "....."; 
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 
?> 

я добавить свой файл connfig

+0

У вас есть данные в таблице? –

+0

thats, потому что ваш запрос не удался и вернулся FALSE ..! –

+0

Выполните запрос в phpmyadmin или любой другой среде mysql, чтобы узнать, возвращают ли они какие-либо данные. –

ответ

0

вы также можете использовать mysql_num_rows здесь, он будет проверять, возвращал ли запрос какие-либо строки или нет.

$getallCountries = mysql_query("SELECT * FROM country"); 
if(mysql_num_rows($getallCountries) > 0) { 
    while($viewallCountries = mysql_fetch_array($getallCountries)){ 
    // insert inside option 
    } 
} 

вы не выбрали использование базы данных этот код для выбора БД

$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db($database_conn, $conn); 

mysql_fetch_array изменения в mysql_fetch_assoc.

+0

. Я попробовал ваше решение. Теперь я получил эту ошибку. ** Предупреждение: mysql_num_rows() ожидает параметр 1, чтобы быть ресурсом, логическим значением, указанным в C: \ wamp \ www \ Без имени. Сайт 2 \ resources \ searchForm.php в строке 36 ** –

+0

@devleb показывает ваш файл подключения db. –

+0

ok я показываю файл подключения, вы можете мне помочь? –

3
mysql_query

возвращается FALSE, если запрос завершился с ошибкой. Вам нужно проверить возвращаемое значение. Если это FALSE, вы можете использовать mysql_error, чтобы получить сообщение об ошибке из базы данных.

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