如何通过PHP迭代MySQL的搜索结果?

Ahm*_*rid 0 php mysqli

我用的时候

 function __construct()
    {
      // open db
      $this->db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);
      if (!$this->db)
        die(mysql_error());

      $this->db->query("SET NAMES 'utf8';");
    }


$result=$this->db->query("SELECT OrgNo, CompanyName FROM ematch WHERE CompanyName LIKE '%$word%';");
           $num=$result->num_rows;
          print $num; 
           $i=0;
            while ($i < $num) 
            {
                 $OrgNo=mysql_result($result,$i,"OrgNo");
                 $CompanyName=mysql_result($result,$i,"CompanyName");
                 $i++;
                 print $OrgNo.' '.$CompanyName.'<br>';
            }
Run Code Online (Sandbox Code Playgroud)

我收到此错误:警告:mysql_result():提供的参数不是有效的MySQL结果资源,没有任何结果.

Sar*_*raz 8

您可以将代码更改为:

$result = $this->db->query("SELECT OrgNo, CompanyName FROM ematch WHERE CompanyName LIKE '%$word%';");

while ($row = mysqli_fetch_array($result)) 
{
  print $row['OrgNo'] .'<br />';
  print $row['CompanyName'] .'<br />';
}
Run Code Online (Sandbox Code Playgroud)

假设$result返回的表单是您的query方法的结果资源.