2012-10-13 54 views
0

我的帶mysqli的查詢只顯示1個鏈接,而原始的mysql查詢顯示全部爲6;任何想法爲什麼會發生? 我有兩個參數在我的查詢中顯示鏈接。一個是啓用的值必須等於1;二是權限值等於或小於3管理員page.This是我跑了我的管理頁面上沒有任何問題,舊的查詢: 舊版本的MySQL查詢帶參數不帶有MySQLI查詢的所有鏈接

<?php 
     $result=mysql_query("SELECT * FROM navigation WHERE enabled='1' AND permission<='3'"); 
       while ($row= 
       mysql_fetch_array($result)) 
        { 
        echo '<li>'; 
        echo $row['link']; 
        echo '</li>'; 
        } 

     ?> 

它顯示的所有鏈接與變量匹配。 我的新的mysqli查詢:

$db = new mysqli($host, $user, $pass, $dbname); 
    if(mysqli_connect_errno()) 
{ 
    die('The connection to the database could not be established.'); 
} 
$query = 'SELECT * FROM navigation where enabled="1"'; 
$result = $db->query($query); 
$total_results = $result->num_rows; 
while ($row = $result->fetch_object()); 
{ 
    echo '<li>'; 
       echo $row->link; 
       echo '</li>'; 
      } 
?> 

該查詢只顯示第一個環節。

+1

我在任何地方都看不到循環。你如何期望它顯示多個結果?將$ row = $ result-> fetch_object()改爲'while($ row = $ result-> fetch_object())' – NullUserException

+0

從未在mysql查詢中使用循環;我一味地認爲這對mysqli來說是一樣的。我完全忽略了這一點,只是一直在做一段時間,卻沒有真正想到爲什麼。在第二個音符上。我在mysqli中添加了while,現在它不顯示任何導航內容,也不顯示導航窗格。 –

+2

循環正確:'while($ row ...' – NullUserException

回答

0

所以這是一種答案。它解決了我的第一個問題,並給了我一個新的問題。

<?php 
$server = "****"; 
    $user = "****"; 
    $pass = "*****"; 
    $webdb = "****"; 
    $db = new mysqli($host, $user, $pass, $dbname); 
    if(mysqli_connect_errno()) 
{ 
    die('The connection to the database could not be established.'); 
} 
$query = 'SELECT * FROM navigation where enabled="1"'; 
$result = $db->query($query); 
$total_results = $result->num_rows; 
while ($row = $result->fetch_object()) 
{ 
    echo '<li>'; 
       echo $row->link; 
       echo '</li>'; 
       } 

          $result->free(); 

?> 

是顯示所有設置爲啓用的鏈接的代碼。我的< = 3變量顯示沒有鏈接,如果添加到查詢中,並且網頁的其餘部分現在不顯示。我會更新,因爲我找到更多信息。