-1
私はフォームを提出すると、データがデータベースから抜けていますが、エントリは空白になりますが、成功メッセージが表示されます。php SQLはデータベースに空のエントリを挿入します。
基本的に問題は$ sql文字列にあります。
SQLの文字列VALUESはエコーは問題ありませんが、データベースのエントリは空白です。
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$name = (string)$_POST["name"];
$email = (string)$_POST["email"];
$phone = (string)$_POST["phone"];
$sql = "INSERT INTO myTable (name,email,phone)
VALUES ('{$name}','{$email}','{$phone}')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
これは非常にSQL-の注射を探します。 '$ sql'の実行時の実際の値は何ですか? – David
フォームのHTMLを投稿できますか?そのメソッドをPOSTに設定しましたか? $ _POST、$ name、$ email、および/または$ phoneを印刷してみましたか?おそらく、単に成功メッセージを 'echo 'Createdレコード(' {$ name} '、' {$ email} '、' {$ phone} ')"; "に変更してPOSTデータを確認したり追加したりします: " print_r($ _ POST、true); ' –