2016-10-04 56 views
-3

我做了查詢,但不顯示在屏幕上的任何東西,當我打開,我做了查詢速度慢,不顯示任何查詢更慢

$query="SELECT * FROM Dettagli_macchina WHERE macchine_id='$macchine' and Email='$_SESSION[login_user]'"; 
$result = mysqli_query($conne,$query); 
        while($row=mysqli_num_rows($result)){ 
         echo $row['COMPONENTE']; 

        } 
+0

雖然與mysqli_num_rows ???? U會在這裏使用mysqli_fetch_array。 mysqli_num_rows將返回行數不是rowData – devpro

+4

它慢,因爲循環是無限的總是真的 – devpro

+0

現在你有很多解決方案嘗試它。 – devpro

回答

0

你取的紀錄,但使用mysqli_num_rows頁面()返回的總行數/記錄將其替換爲mysqli_fetch_array(),這裏是工作示例。

$query="SELECT * FROM Dettagli_macchina WHERE macchine_id='$macchine' and Email='$_SESSION[login_user]'"; 
$result = mysqli_query($conne,$query); 
while($row = mysqli_fetch_array($result)) { //replace mysqli_num_rows with mysqli_fetch_array 
     echo $row['COMPONENTE']; 
    } 
4

mysqli_num_rows()只會用於獲取行數不爲行數據。

您需要喲使用mysqli_fetch_*()

while($row=mysqli_fetch_array($result)){ 
    echo $row['COMPONENTE']; 
} 

爲什麼這個查詢慢?因爲你在這裏使用無限循環,所以總是TRUE

while($row=mysqli_num_rows($result)) 

還有一個故事,我希望你在你的文件中使用session_start(),但假設,如果$_SESSION找不到或無法啓動比你的查詢將失敗。

在最後,這僅僅是命名約定,你在小信,資本小,全資使用的列名有關一個建議,這是不相關的回答,但你必須要了解這門藝術。


這將有助於你理解命名約定:Database, Table and Column Naming Conventions?

這個參考將幫助您瞭解如何mysqli_fetch_array()作品:http://php.net/manual/en/mysqli-result.fetch-array.php

+0

我使用一個會議,我包括session_start –

+0

@馬里奧 - 盧奇很高興知道這一點。你試過這些解決方案嗎? – devpro

0

請與這一個返回值的嘗試如果您需要原始數量,那麼報表將會有所不同。

$query="SELECT * FROM Dettagli_macchina WHERE macchine_id='$macchine' and Email='$_SESSION[login_user]'"; 
    $result = mysqli_query($conne,$query); 
         while($row=mysqli_fetch_array($result)){ 
          echo $row['COMPONENTE']; 

         } 
+0

我已經試了好幾次 –

0

正如其他人所指出的那樣,你已經混了mysqli_num_rows功能,在這裏我用它來打印發現結果的數量,和mysqli結果對象轉換成一個數組名爲$後,再通過結果循環排

echo 'Found '. mysqli_num_rows($result) .' results'; 

    while ($row = mysqli_fetch_array($result)) { 
    echo $row['COMPONENTE']; 
    } 
+0

我試過了,但是不起作用 –

+0

'不行'實際上告訴我很少。你的意思是它顯示了一個錯誤?或者它只是發現零結果? –

+0

它工作了一段時間 –