>  기사  >  백엔드 개발  >  PHP查询数据库数据时出现异常

PHP查询数据库数据时出现异常

WBOY
WBOY원래의
2016-06-13 13:42:57855검색

PHP查询数据库数据时出现错误
PHP 查询数据库books中的books表时出现以下错误!

Notice: Trying to get property of non-object in D:\wamp\Apache\htdocs\php\results.php on line 33

Fatal error: Call to a member function fetch_assoc() on a non-object in D:\wamp\Apache\htdocs\php\results.php on line 35


代码如下:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->

    
        <title> Book-O-Rama Catalog Search</title>
    
    
        <h1>Book-O-Rama Catalog Search</h1>
<?php //create short variable names
    $searchtype=$_POST['searchtype'];
    $searchterm=trim($_POST['searchterm']);    
    
    if (!$searchtype || !$searchterm)    {
        exit('You have not entered search detais,please go back again');
    }
     
    if (!get_magic_quotes_gpc()){    
        
        $searchtype=addslashes($searchtype);
        $searchterm=addslashes($searchterm);
    }
    
    
    @ $db=new mysqli('localhost','root','password','books');
    
    if (mysqli_connect_errno()){
        echo "could not connect to database,please try again later.".mysqli_connect_errno();
        exit;
    }else {  
        $sql ="select * from books where".$searchtype."like'%".$searchterm."%'";
    
        $result=$db->query($sql);
        $num_result=$result->num_rows;
        for ($i=0;$ifetch_assoc();
            echo "<p>".($i+1)."title:";
            echo htmlspecialchars(stripslashes($row['author']));
            echo "Author:".stripslashes($row->newsauthor);
            echo "ISBN:".stripslashes($row->newsISBN);
            echo "price:".stripslashes($row->newsprice)."</p>";
        }
    }

    $result->free();
    $db->colse();
?>
    




上述问题那微微大虾能给个解决方案!

------解决方案--------------------
PHP code

$sql ="select * from books  where  ".$searchtype."  like  '%".$searchterm."%'";

        if ($result=$db->query($sql)) {
            $num_result=$result->num_rows;
            for ($i=0;$ifetch_assoc();
                echo "<p>".($i+1)."title:";
                echo htmlspecialchars(stripslashes($row['author']));
                echo "Author:".stripslashes($row->newsauthor);
                echo "ISBN:".stripslashes($row->newsISBN);
                echo "price:".stripslashes($row->newsprice)."</p>";
            }
        }else{
            echo "fail.";
            exit;
        } <div class="clear">
                 
              
              
        
            </div>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.