2013-05-01 5 views
-1

Я попытался показать некоторые данные из базы данных с выбором опцией с первой страницейmysql_fetch_array() ожидают параметр 1

, но я получил две ошибки, когда страница пыталась получить данные из базы данных

ошибок являются

mysql_num_rows() expects parameter 1 to be resource, boolean given 

и

mysql_fetch_array() expects parameter 1 to be resource, boolean given 

это мой код

<?php 
//connect to server 
$connect = mysql_connect("localhost", "root", ""); 

//connect to database 
//select the database 
mysql_select_db("fak_databases"); 
//submit button 
if($_POST['formSubmit'] == "Submit") 
{ 
    $country = $_POST['country']; 
} 

//query the database 
if($country == TRUE) { 

    $order = ""; 
    $sort = "asc"; 
    $sql = "SELECT wipo_applicant1_city, applicant1_addr1 WHERE applicant1_country='$country' FROM auip_wipo_sample"; 
    if(isset($_GET['orderby'])){ 
     $order = $_GET['orderby']; 
     $sort = $_GET['sort']; 

     //limiting the possible values of order/sort variables 
     if($order != 'wipo_applicant1_city' && $order != 'applicant1_addr1')$order = "applicant1_addr1"; 
      if($sort != 'asc' && $sort != 'desc')$sort = "asc"; 
       $sql = "SELECT wipo_applicant1_city, applicant1_addr1 FROM auip_wipo_sample WHERE applicant1_country='$country' ORDER BY ".mysql_real_escape_string($order)." ".$sort; 

       //here we reverse the sort variable 
       if($sort == "asc"){ 
        $sort = "desc"; 
       } 
      else{ 
       $sort = "asc"; 
      } 
     } 

} 

    $result = mysql_query($sql); 
    $num_rows = mysql_num_rows($result); 
    $row_counter = 0; 

    $icon = ""; 
    echo "<table border=\"1\" cellspacing=\"0\">\n"; 
    echo "<tr>\n"; 

    // first column 
    echo "<th>"; 
    $icon = ""; 
    if($order == "wipo_applicant1_city"){ 
     if($sort == "asc"){ 
      $icon = "<img src=\"images/up.png\" class=\"arrowSpace\"/>"; 
     } 
     if($sort == "desc"){ 
      $icon = "<img src=\"images/down.png\" class=\"arrowSpace\"/>"; 
     } 
    } 

    //print the result 
    echo "<a href='index.php?orderby=wipo_applicant1_city&sort=".$sort."'>City</a>".$icon; 
    echo "</th>\n"; 


    // second column 
    echo "<th>"; 
    $icon = ""; 
    if($order == "applicant1_addr1"){ 
     if($sort == "asc"){ 
      $icon = "<img src=\"images/up.png\" class=\"arrowSpace\"/>"; 
     } 
     if($sort == "desc"){ 
      $icon = "<img src=\"images/down.png\" class=\"arrowSpace\"/>"; 
     } 
    } 
    echo "<a href='index.php?orderby=applicant1_addr1&sort=".$sort."'>Address</a>".$icon; 
    echo "</th>\n"; 
    echo "</tr>"; 

//fetch the result 

while($row = mysql_fetch_array($result)) 
{ 
    if($row_counter % 2){ 
      $row_color="bgcolor='#FFFFFF'"; 
     }else{ 
      $row_color="bgcolor='#F3F6F8'"; 
     } 
    echo "<tr class=\"TrColor\" ".$row_color.">"; 
    echo "<td>" . $row['wipo_applicant1_city'] . "</td>\n"; 
    echo "<td>" . $row['applicant1_addr1'] . "</td>\n"; 
    echo "</tr>"; 
    $row_counter++; 
} 

Print "</table>"; 
?> 

линия получил ошибку в

$num_rows = mysql_num_rows($result); 

и

while($row = mysql_fetch_array($result)) 

Я думаю, что я уже дал параметр в этой строке

$result = mysql_query($sql); 

кто знает, как это исправить?

благодаря

+0

первое использование Dont mysql_ * использование mysqli_ * и второй проверки mysql_num_rows ($ результат)> 0 –

+1

Вы не делаете какую-либо ошибку проверки в любом месте подключения к базе данных или выполнение запроса. ** Это преступление. ** Сделайте это. – Mat

+0

'mysql_query ($ sql);' возвращает false, если запрос не удался. поэтому результат $ false! – Waygood

ответ

0

попробовать этот

$sql = "SELECT wipo_applicant1_city, applicant1_addr1 FROM auip_wipo_sample WHERE  
     applicant1_country='".$country."'"; 
Смежные вопросы