2017-10-21 193 views
0

我是PHP和SQL的新手。我試圖制定一個規則,以便它只會顯示特定頁面的某些信息。我使用的代碼是 include'dbh-login.php';PHP if語句被忽略

$id = $_GET['id']; 

$i = 1; 

while ($i != 100) { 
    $sql = "SELECT * FROM ui_off WHERE id='$i'"; 
    $result = mysqli_query($conn, $sql); 
    $row = mysqli_fetch_assoc($result); 
    if ($row['link'] = $id) { 
     echo $row['title']."<br>"; 
    } 
    $i++; 
} 

if語句似乎對天氣沒有影響腳本回應標題或不。

+6

'='符號是賦值。相反,使用比較'=='或'==='。 – JazZ

+1

以下是[比較運算符](http://php.net/manual/en/language.operators.comparison.php)的手冊頁。 – JazZ

回答

1

您正在查看==分配。這是工作代碼。

$id = $_GET['id']; 

$i = 1; 

while ($i != 100) { 
    $sql = "SELECT * FROM ui_off WHERE id='$i'"; 
    $result = mysqli_query($conn, $sql); 
    $row = mysqli_fetch_assoc($result); 
    if ($row['link'] == $id) { 
     echo $row['title']."<br>"; 
    } 
    $i++; 
} 
0

您的代碼沒有任何意義。

您正在使用while loop並在其中循環100次,以檢查1行是否具有給定的ID。

爲什麼不直接搜索ID?您的代碼將變得更清晰,每次打開頁面時,您都可以通過扣除100個查詢來釋放服務器上的一些內存。

$id = $_GET['id']; 

$sql = "SELECT * FROM ui_off WHERE id!='100' AND link='$id'" ; 
$result = mysqli_query($conn, $sql); 
$row = mysqli_fetch_assoc($result); 
if ($row['link'] != '') { 
    echo $row['title']."<br>"; 
}