Heim  >  Artikel  >  Backend-Entwicklung  >  PHP调用mysql函数报错

PHP调用mysql函数报错

WBOY
WBOYOriginal
2016-06-13 11:50:54976Durchsuche

PHP调用mysql函数出错

  


    Book-O-Rama Search Result
  
  
    

Book-O-Rama Search Results


    
      $searchtype = $_POST['searchtype'];
      $searchterm = trim($_POST['searchterm']);
      if (!$searchtype || !$searchterm)
      {
        echo 'You have not entered search details. Please go back and try again.';
        exit;
      }
      
      if (!get_magic_quotes_gpc())
      {
        $searchtype = addslashes($searchtype);
        $searchterm = addslashes($searchterm);
      }
      
      $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');
      if (mysqli_connect_error())
      {
        echo 'Error: Could not connect to database. Please try again later.';
        exit;
      }
      
      $db->select_db("books");
     
      //$query = "select * from books where ".$searchtype." like '%".$searchterm."%'"; 
      $query = "select * from books where ". $searchtype."="."'$searchterm'" ; 
      //$query = "select * from books"; 
      echo "$query\n";
          
      $result = $db->query($query);
      $num_results = $result->num_rows;
      echo "

Number of books found: ".$num_results."

";
      
      for ($i = 0; $i       { 
        /* 此段被注释的代码运行出错,错误在于$result->fetch_assoc();
        $result->fetch_assoc();
        echo "

".($i+1).". Title: ";
        echo htmlspecialchars(stripslashes($row['title']));
        
        echo "

Author: ";
        echo stripslashes($row['author']);
        
        echo "
ISBN: ";
        echo stripslashes($row['isbn']);
        
        echo "
Price: "; 
        echo stripslashes($row['price']);

        echo "

";
        */
        
        //下面的代码运行OK  
        $row = $result->fetch_row();
        
        echo "

".($i+1).". Title: ";
        echo htmlspecialchars(stripslashes($row[2]));
        
        echo "

Author: ";
        echo stripslashes($row[1]);
        
        echo "
ISBN: ";
        echo stripslashes($row[0]);
        
        echo "
Price: "; 
        echo stripslashes($row[3]);

        echo "

";
        
      }
      $result->free();
      $db->close();
    ?>



PHP新手。上面的php代码中,For循环实现了从结果集中取出一行数据。奇怪的是当把注释掉的代码打开,把运行OK的代码注释掉,就会出错。出错的地方就在于调用fetch_assoc()函数。那为什么调用fetch_row()函数没有呢?
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn