を削除するには取得できません、私のdelete.phpページです:行がここでPHP
<?php
//including the database connection file
include("config.php");
//getting id of the data from url
$id = $_GET['id'];
//deleting the row from table
$result = mysqli_query($mysqli, "DELETE FROM users WHERE id=$id");
//redirecting to the display page (index.php in our case)
header("Location:index.php");
?>
とヒットを呼んでいるindex.phpページがあります。
<?php
//including the database connection file
include("config.php");
$result = mysqli_query($mysqli, "SELECT * FROM users ORDER BY id ASC");
// using mysqli_query instead
while($res = mysqli_fetch_array($result))
{
?>
<table>
<tr>
<td class="long"><?php echo $res['nameFirst'];?></td>
<td class="long"><?php echo $res['nameLast'];?></td>
<td class="long"><?php echo $res['email'];?></td>
<td><a href="edit.php?id=$res[id]">Edit</a></td>
<td><a href="delete.php?id=$res[id]" onClick="return confirm('Are you sure you want to delete?')">Delete</a></td>
</tr>
<?php } ?>
</table>
しかし、私はクリックしてくださいリンクを削除すると、ページは確認を求めて、index.php(それ自体)を再読み込みしてもテーブルの行は削除されません。
これは簡単な修正ですが、問題は確認できません。エラーが$ result行のどこかにあると仮定していますか?
ありがとうございます。
'$ resを[ID]' PHPタグ内に保つことが必要があります – Saty
** WARNING **:使用 'mysqli'あなたがすべき[パラメータ化されたクエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param'](http://php.net/manual/en/mysqli- stmt.bind-param.php)を使用してユーザーデータをクエリに追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成したため、文字列の補間または連結を使用してこれを実行しないでください。 ** '$ _POST'、' $ _GET'、**任意の**ユーザデータを直接クエリーに入れないでください。誰かがあなたのミスを悪用しようとすると非常に危険です。 – tadman
メモとして、物事を削除するGETスタイルのリンクを持つことは、通常は非常に悪い考えです。いくつかのブラウザーとWebクローラーはこれらのリンクをトリガーすることができ、データベース内のすべてのものを体系的に削除する可能性があります。このため、ほとんどの人は少なくともPOSTの後ろに置くことを主張しています。 – tadman