2017-10-27 6 views
-1

テーブルの「詳細」をクリックしてユーザの詳細を表示しようとしています(テーブル内のすべての行はデータベースからのものです)それはどこかここにある)リンク別PHP mysqlクエリ

これは完璧で、テーブルに私はこれを追加します。

<?php echo '<a href="details.php?AutoID='.$row['AutoID'].'">Details</a>'; ?> 

は、今私は私が前に使用したクエリで同じコードを使用することにより、各ユーザーの詳細情報を取得しようとしているが、それは動作しません。

<?php $id = $_GET['AutoID']; 
foreach ($link->query('SELECT * from data where AutoID=$id') as $row){ ?> 

<td><?php echo $row['fullname'] ?></td> 
<td><?php echo $row['email'] ?></td> 
<td><?php echo $row['phone'] ?></td> 

ありがとう、私は自分自身をよく説明することを願っています。ところでその

$link->query('SELECT * from data where AutoID='.$id) 

+0

あなたはこのコードがSQLインジェクションに対して脆弱であることを認識していますか?どのような形でも保護されていない状態で、ユーザーが入力した値をそのままクエリにドロップするのではなく、準備済みのステートメントを使用することを検討してください。 – rickdenhaan

+1

一重引用符を二重引用符に変更します。変数はダブルクォートの中でのみ展開されます。 – Barmar

+1

しかし、準備されたクエリを使用する方がよいでしょう。 – Barmar

答えて

1

変更この

$link->query('SELECT * from data where AutoID=$id') 

。 $ _GETパラメータにいくつかのフィルタを使用することを検討してください

+0

恐ろしい! @バートありがとう! –

+1

「考える」?彼はハッキングされたくない場合は、この男はSQL注入に広いオープンです... – hanshenrik