1)我有以下(包括)從我的數據庫(phprealty)與兩個聯合表(phprealty_propert + phprealty_prop_img)顯示隨機記錄。代碼工作沒有任何問題。但是,當我將限制設置爲3時,我得到2條記錄,這就是爲什麼我將限制設置爲4以便獲得3條記錄。我可以按原樣離開嗎?PHP * RAND()LIMIT x,y
2)由於我是PHP新手,你認爲這個代碼很脆弱,因此需要某種保護?如果是這樣,請告知如何使用PHP來顯示數據時保護網頁。
預先感謝您。
<?php
$pid = 3;
$myConnection = new mysqli("localhost", "root", "", "phprealty");
$sqlCommand = "SELECT phprealty_property.*, phprealty_prop_img.p_id, phprealty_prop_img.fn FROM phprealty_property INNER JOIN phprealty_prop_img ON phprealty_property.id = phprealty_prop_img.p_id WHERE phprealty_prop_img.def='1' AND phprealty_property.type = $pid";
$query = mysqli_query($myConnection, $sqlCommand) or die (mysqli_error());
$sqlCommand .= " ORDER BY RAND() LIMIT 0,4";
$result = mysqli_query($myConnection, $sqlCommand);
$Displayproperty = '';
$row = mysqli_fetch_array($result);
$id = $row["id"];
$title = $row["title"];
while ($row2 = mysqli_fetch_array($result)){
$img = $row2["fn"];
$thumb = 'th_' . $img;
$Displayproperty .= '
<div class="random">
<a href="display.php?id=' . $id . '"><img src="../falcon/listImgs/' . $thumb . '" /> </a></div>';
}
您正在返回4行有,但第一行用於$ row變量,其餘的都在$ 2行變量使用。 ORDER BY RAND()也是非常低效的操作,除非絕對必要,通常應該避免。 – CodePB
感謝您的回覆。但是當我將它限制爲6時,我得到了6. – Omar
也許我錯過了一些東西,然後限制0,4應該返回4行。 – CodePB