私はユーザーが自分の連絡先情報(first_name、last_name、email、phone、website、comment、hosting)をデータベースに送信できるフォームを用意しています。 HTMLの 'コメント'の名前を '説明'に変更しようとするまで、フォームは正しく機能していました。今私がフォームを提出すると、PHPは応答をエコーします(したがって、正しく送信していると思うようになります)。しかし、phpMYAdminのテーブルを見ると空です。SQLクエリーは機能していましたが、ランダムに停止しました
データベース構造がastyle_lefteyebrow>お問い合わせ
テーブルの構造である:
CustomerID (Primary) int(11)
FirstName text
LastName text
Email varchar (128)
Phone varchar (20) NULL
Website varchar (500) NULL
Description varchar (2000)
Hosting tinyint (1)
PHPファイル:
<?php
$servername = "localhost";
$username = "astyle_quiggly";
$password = "**********";
$dbname = "astyle_lefteyebrow";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Check that posts have values
echo $_POST['first_name'];
echo $_POST['last_name'];
echo $_POST['email'];
echo $_POST['phone'];
echo $_POST['website'];
echo $_POST['comment'];
echo $_POST['hosting'];
// prepare and bind
$stmt = $conn->prepare("INSERT INTO Contact (FirstName, LastName, Email, Phone, Website, Description, Hosting) VALUES (?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param("ssssssi", $firstname, $lastname, $email, $phone, $website, $description, $hosting);
// set parameters and execute
$firstname = $_POST['first_name'];
$lastname = $_POST['last_name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$website = $_POST['website'];
$description = $_Post['comment'];
if ($_POST['hosting'] == 'yes') {
$hosting = 1;}
else {
$hosting = 0;
}
$stmt->execute();
$stmt->close();
$conn->close();
?>
私はそれが動作し、すべての突然のことになる理由はわからないんだけどエンコーディングエラーで何かする必要がある場合を除き、停止してください。何か案は?
なぜあなたはあなたのクエリが正常に実行されたと思いますか( '$ stmt-> execute();')?それは、理由のためにブール値を返します。 – Xorifelse