このフォームを使用してデータベースにコンテンツを追加しようとしています。私が提出するたびに、$h_title
、$b_title
、$f_title
がundefined
であり、私のテーブルが空のレコードで表示されるというエラーが表示されます。SQLの更新ステートメントに空のレコードが表示される
これがなぜ起こるのか誰かが知っていますか?もしそうなら、あなたはその解決策を教えてくれますか?ありがとうございました!
私のテーブルの設定は、コードに書かれているものと一致します。
<?php //header_title, title & footer_title
if (isset($_POST['submit'])) {
$layout_id = 1;
$h_title = mysql_prep($_POST["h_title"]);
$b_title = mysql_prep($_POST["b_title"]);
$f_title = mysql_prep($_POST["f_title"]);
$query = "UPDATE layout1 SET ";
$query .= "h_title = '{$h_title}', ";
$query .= "b_title = '{$b_title}', ";
$query .= "f_title = '{$f_title}' ";
$query .= "WHERE id = {$layout_id}";
$result = mysqli_query($connection, $query);
if ($result && mysqli_affected_rows($connection) == 1) {
//success
$_SESSION["message"] = "header/footer/title updated";
} else {
$_SESSION["message"] = "Update failed";
}
}
?>
<form action="website_design.php" method="post">
<h3>Edit header and footer titels</h3>
<p>Header title: <input type"text" name"h_title" value"" />
<br><br>Website Title: <input type"text" name"b_title" value"" />
<br><br>Footer title: <input type"text" name"f_title" value"" />
</p>
<input type="submit" name="submit" value="Edit" />
</form>
純粋推測です。 –
すみません、私はそれを数時間チェックしましたが、それを理解することはできません。フォームでsubmitを押すと、エラーが発生し、データベーステーブルが空になります。初めて起こったこと。 –
'mysql_prep()'関数を表示できますか?そして、代わりに準備されたステートメントを使用する方法を学ぶ必要があります。また、エラーをチェックしてください:['error_reporting(E_ALL);'](http://php.net/manual/en/function.error-reporting.php)と['mysqli_error'](http://php.net/マニュアル/ en/mysqli.error.php) – Qirel