PHPとSQLの両方にかなり慣れていませんが、フォームに入力された詳細をデータベースに挿入することが必要です。
私が書いたコードは機能し、データはデータベースに送信されますが、正しくないことがいくつかあります。
まず、コードは次のとおりです。
<?php
include "credentials.php";
function insert_post($cnhost,$cnusername,$cnpassword,$cndatabase,$titlein,$contentin,$comment_optionin) {
$connect = mysqli_connect($cnhost,$cnusername,$cnpassword,$cndatabase);
if (mysqli_connect_errno($connect))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}else{
echo "Connection Success! <br>";
$submitpost_query = mysqli_query($connect,"INSERT INTO blog_posts (title,content,comment_option) VALUES ('".$titlein."','".$contentin."','".$comment_optionin."')");
if (!mysqli_query($connect,$submitpost_query))
{
die('Error: ' . mysqli_error($connect));
}else{
echo "Post submitted.";
}
mysqli_close($connect);
}
}
$title = $_POST["title"];
$content = $_POST["content"];
$comment_option = $_POST["comment_option"];
insert_post($host,$username,$password,$database,$title,$content,$comment_option);
?>
データは必要に応じてデータベースに送信されますが、次のエラーが発生します。
「エラー: SQL 構文にエラーがあります。1 行目の '1' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください」
$comment_option 変数には、選択されているラジオ ボタンに応じて値 1 または 0 が含まれるため、このエラーはこの変数を参照している可能性がありますが、この SQL エラーは、$comment_option の値が 1 であっても 0 であっても同じです。
「接続成功!」と表示されます。このエラーの前に、投稿が実際に送信されたにもかかわらず、「投稿が送信されました」と表示されません。理由はありますか?
この問題で私を助けるだけでなく、誰かがivが書いたものを改善するための一般的なヒントを教えてくれたらとても感謝しています. 私は初心者なので、ここで改善できることがいくつかあると確信しています!
どうもありがとう!