Как перебрать результаты поиска из MySQL через PHP? - PullRequest
0 голосов
/ 11 ноября 2010

Когда я использую

 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>';
            }

Я получаю эту ошибку: Предупреждение: mysql_result (): предоставленный аргумент не является допустимым ресурсом результата MySQL и ничего не выходит.

Ответы [ 3 ]

8 голосов
/ 11 ноября 2010

Вы можете изменить свой код на это:

$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 />';
}

Где предполагается, что $result, возвращенный из вашего query метода, является ресурсом результата.

0 голосов
/ 11 ноября 2010

Попробуйте удалить точку с запятой из вашего оператора SQL.

"SELECT OrgNo, CompanyName FROM ematch WHERE CompanyName LIKE '%$word%';"

должно быть

"SELECT OrgNo, CompanyName FROM ematch WHERE CompanyName LIKE '%$word%'"
0 голосов
/ 11 ноября 2010

Вам нужно будет показать нам обертку / класс DB, которую вы используете, но я бы хотел догадаться, как двигаться вперед:

$result = $this->db->query("SELECT OrgNo, CompanyName FROM ematch WHERE CompanyName LIKE '%$word%';");
while($row = mysqli_fetch_array($result)) {
    print $row['OrgNo']." ".$row['CompanyName']."<br>";
}

Поскольку вы используете пользовательскую оболочку БД, вам лучше использовать ее способ извлечения строк одна за другой вместо использования mysqli_fetch_array ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...