CRUDをしようとすると、すべて私の更新機能を除いて動作します。私は問題が2番目のSQLクエリにあるように感じる。私が提出をクリックすると、それはちょうどリフレッシュされ、変更はなくなりました。誰かが私に何を変更する必要があるかを見つける方法を教えてください/私に何を変更するかを教えてください。代わりにPHP
内のフォームを構築する
<head>
<title>Update</title>
</head>
<body>
</form>
<?php
require_once('dbconnect.php');
$id = $_GET['id'];
$sql = "SELECT * FROM dealers where ID=$id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo '<form action="" method="post">';
echo "Company: <input type=\"text\" name=\"CName\" value=\"".$row['CName']."\"></input>";
echo "<br>";
echo "Contact: <input type=\"text\" name=\"Contact\" value=\"".$row['Contact']."\"></input>";
echo "<br>";
echo "City: <input type=\"text\" name=\"City\" value=\"".$row['City']."\"></input>";
echo "<br>";
echo "<input type=\"Submit\" = \"Submit\" type = \"Submit\" id = \"Submit\" value = \"Submit\">";
echo "</form>";
}
echo "</table>";
} else {
echo "0 results";
}
if(isset($_POST['Submit'])){
$sql = "UPDATE dealers SET CName='$CName', Contact='$Contact', City='$City' where ID=$id";
$result = $conn->query($sql);
}
$conn->close();
?>
あなたのコードは、[SQL-注射](http://stackoverflow.com/questionsに対して脆弱であるas_idのようなテーブルのディーラーでより多くのキーを作成する必要があります/ 60174/how-can-i-prevent-sql-injection-in-php)を使用します。 Prepared、Parameterized Queriesを使用してください。 –
あなたが 'if(isset($ _ POST)'ロジックブロックで、HTMLがPHP 'echo'を介して提供されていると主張していたPHBを持っていましたら)' SELECT * ID = $ id - >ディストリビューターからIDを取得し、変更をHTMLでエコーバックします。これはHTMLを処理するサーバーサイドのロジックなので、泥の中の豚のように乱雑です。 )とUPDATE(crUd)を同じ関数で使用しています。サーバーから動的HTMLを提供していても、これは悪いです(悪いこともあります)。 – RyanNerd