MySQLテーブルにデータを挿入しようとしていますが、なぜ機能しないのかわかりません
<?php
include 'connect.php';
$userName = $_POST['name'];
$firstname = $_POST['FirstName'];
$Surname = $_Post['Surname'];
$email = $_POST['EmailAddress'];
$password = $_POST['Password'];
$gender = $_POST['Gender'];
$dob = $_POST['DOB'];
$query = 'INSERT INTO `User` (`username`,`Password`,`First Name`,`Surname`, `Gender`, `DOB`, `Email Address`)
VALUES ('.$userName.','.$password.','.$firstname.','.$Surname.', '.$gender.', '.$dob.', '.$email.')';
$stmt = $conn->prepare($query);
try {
$myarray = array(
":userName" => $userName,
":password" => $password,
":firstname" =>$firstname,
":Surname" => $Surname,
":gender" => $gender,
":dob" => $dob,
":email" => $email);
print_r($myarray);
$stmt->execute($myarray);
} catch(PDOException $err) {
echo "Houston we have a problem: $err";
}
?>
私が何か間違ったことをしているのか教えてください。
プリペアドステートメントを間違って使用しています。$ db-> prepare()を使用すると、実際には値ではなくプレースホルダーを使用してクエリを送信します(テンプレートの送信と呼ばれます)。あなたの場合:
$query = 'INSERT INTO `User` (`username`,`Password`,`First Name`,`Surname`, `Gender`, `DOB`, `Email Address`)
VALUES (:userName, :password, :firstname, :Surname, :gender, :dob, :email)';
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加