2012-09-10 66 views
0

的MySQL查詢我開始學習PHP + MYSQL如何處理在MySQL

作出這樣的查詢後:

$sql = "SELECT * FROM clients"; 
$query = $mysqli->query($sql); 

我需要把一個陣列中的正確獲取信息?

$result = mysqli_fetch_all($query); 

我需要使用數組還是可以在$ query中搜索信息?

+0

你想要做什麼?在我看來,你只需要根據你想要的標準來調整你的查詢來選擇你想要的列。 – jeroen

+0

對,你通常不應該搜索你的查詢結果的信息,你應該寫一個查詢,得到你想要的結果。這就是說,檢索表中的所有數據並使用PHP搜索它是非常困難的,但無害......只要數據庫保持較小。你擁有的數據越多,得到的速度就越慢。 – octern

+0

octern - 是的,我知道你的意思。我只是想了解php查詢的結果,以MySQL數據庫,因此我的問題...歡呼聲所有 –

回答

1

對於所有意圖和目的,是的。在大多數情況下,你不會從中獲得很多有用的數據。請參閱http://php.net/manual/en/mysqli.query.php瞭解它將返回的值。這就是說,我通常使用帶參數的mysql_fetch_array()將結果放入關聯數組中 - 或者只是使用mysql_fetch_assoc()跳過添加參數。該函數將把它放到一個數組中,你可以通過循環來打印出來。

例如:

while($row = mysql_fetch_array($result)) 
{ 
    echo "<tr>"; 
    echo "<td>" . $row['FirstName'] . "</td>"; 
    echo "<td>" . $row['LastName'] . "</td>"; 
    echo "<td>" . $row['Age'] . "</td>"; 
    echo "<td>" . $row['Hometown'] . "</td>"; 
    echo "<td>" . $row['Job'] . "</td>"; 
    echo "</tr>"; 
} 

是從http://www.w3schools.com/php/php_ajax_database.asp一個例子的部分 - 這是一個相當好的參考。

+0

我應該補充說,我使用MySQL擴展,而不是mysqli。無論哪種情況,這些概念都是相同的。 – Mlagma

+0

當查詢不返回任何結果時會發生什麼?我不應該總是測試在嘗試將結果放入數組之前,查詢是否未返回任何結果?因爲如果查詢不做任何事情,爲什麼我應該浪費時間作爲資源將其放入數組中? –

+0

但這裏http://www.php.net/manual/en/mysqlinfo.api.choosing.php說: 「建議使用mysqli或PDO_MySQL擴展名,不推薦使用舊的mysql新的開發擴展,下面提供了一個詳細的特性比較矩陣,所有三個擴展的總體性能被認爲是大致相同的,雖然擴展的性能僅佔PHP Web請求總運行時間的一小部分。通常,影響低至0.1%。「 這就是爲什麼我選擇使用mysqli .... –

1

mysqli_fetch_all將返回一個關聯或數組數組,然後您可以對該數組執行任何操作。