2017-10-21 41 views
0

PHPとSQLの新機能です。私はあるページの特定の情報しか表示しないようにルールを作ろうとしています。私が使用しているコードは です。 '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を使用しており、1行に指定されたIDがあるかどうかを確認するために100回ループしています。

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>"; 
} 
関連する問題