Итак, это мой второй проект с PDO, и после проверки моего первого проекта я не могу на всю жизнь понять, почему этот INSERT не работает, и я не получаю сообщение об ошибке. Это первый раз, когда я использую PDO внутри Sublime 3. Не думайте, что это как-то связано с этим, просто подумал, что Id добавляет это.
Вот мое соединение, которое не доставляет мне проблем, но на всякий случай!
<?php
$connString = "mysql:host=localhost;dbname=rmldb";
$uname = "root";
$pwd = "DB_PASS";
try{
$pdo = new PDO($connString, $uname, $pwd);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo "Connection failed: " . $e->getMessage();
}?>
Вот мой php с запросом:
Я проверил, пытался ли я сделать это в try / catch, добавив echo, и я дошел до конца блока try, но все еще ничего не вставляется, и я не могу понять, почему.
if($_SERVER["REQUEST_METHOD"] == "POST"){
$formdata['fname'] = trim($_POST['fname']);
$formdata['lname'] = trim($_POST['lname']);
$formdata['email'] = trim($_POST['email']);
$formdata['pwd'] = trim($_POST['pwd']);
$formdata['pwd2'] = trim($_POST['pwd2']);
$formdata['phone'] = trim($_POST['phone']);
$formdata['date'] = $_POST['dateCreated'];
//Checking for empty form values
if(empty($formdata['fname'])){
$err = 1;
$errfname = "First name is required";
}
if(empty($formdata['lname'])){
$err = 1;
$errlname = "Last name is required";
}
if(empty($formdata['email'])){
$err = 1;
$erremail = "Email is required";
}
if(empty($formdata['pwd'])){
$err = 1;
$errpwd = "Please enter a password";
}
if(empty($formdata['pwd2'])){
$err = 1;
$errpwd2 = "Please enter a password";
}
if(empty($formdata['phone'])){
$formdata['phone'] = "N/A";
}
//Checking for matching password values
if($formdata['pwd'] != $formdata['pwd2']){
$err = 1;
$errpwd = "Passwords do not match";
$errpwd2 = "Passwords do not match";
}
//Checking for existing emails
try{
$sql = "INSERT INTO users (fname, lname, email, pwd, phone, dateCreated, admin) VALUES (:fname, :lname, :email, :pwd, :phone, :dateCreated, :admin)";
$stmt = $pdo->prepare($sql);
$stmt->bindValue(":fname", $formdata['fname']);
$stmt->bindValue(":lname", $formdata['lname']);
$stmt->bindValue(":email", $formdata['email']);
$stmt->bindValue(":pwd", $formdata['pwd']);
$stmt->bindValue(":phone", $formdata['phone']);
$stmt->bindValue(":dateCreated", $rightnow);
$stmt->bindValue(":admin", 0);
$stmt->execute();
$showform = 0;
echo "<p class='error'> Recorded!</p>";
}catch(PDOException $e){
$e->getMessage();
}
}