INSERT с PDO в MySQL

Dan J
<?php 

// ****** startup.php ****** ini_set('display_errors', 1);
error_reporting(E_ALL);
$hostDB = "localhost";
$dbUser = "какойто пароль";
$dbPass = "какойто пользователь";
$dbName = "guestbook";

mb_internal_encoding('UTF-8');
open session
if (!isset($_SESSION)) {
session_start();
}

?>
handle_form.php (первый вариант)
<?php

include "startup.php"; // startup(); if (!empty($_POST)) {
   
    // Getting data from the user
    $form = $_POST;
    $username = trim($form['username']);
    $email = $form['email'];
    $url = $form['url'];
    $msg = trim($form['msg']);
    try {
         // Connect and create the PDO object
        $db = new PDO('mysql:host=127.0.0.1;port=8889;dbname=guestbook', $dbUser, $dbPass);

$sql = "INSERT INTO comments (username, email, homepage, message) VALUES (:username, :email, :url, :msg)";
$query = $db->prepare($sql); $query->execute( array( ':username'=>$username, ':email'=>$email, ':url'=>$url, ':msg'=>$msg ) ); echo "User registered successfully.";
$conn = null;

} catch(PDOException $e) {
print "Error!:" . $e->getMessage() . "<br/>";
die();
}

};
?>
handle_form.php (второй вариант)
<?php

include "startup.php"; if (!empty($_POST)) {
   
    // Getting data from the user
    $form = $_POST;
    $username = trim($form['username']);
    $email = $form['email'];
    $url = $form['url'];
    $msg = trim($form['msg']);
    try {
         // Connect and create the PDO object
        $db = new PDO('mysql:host=127.0.0.1;port=8889;dbname=guestbook', $dbUser, $dbPass);

$db->exec("INSERT INTO comments (username, email, homepage, message)
VALUES ('{$username}', '{$email}', '{$url}', '{$msg}')");
echo "User registered successfully.";
$conn = null;

} catch(PDOException $e) {
print "Error!:" . $e->getMessage() . "<br/>";
die();
}

};
?>
Почему во втором варианте INSERT работает (добавляет поля в БД), а в первом варианте нет (выводит только User registered successfully.) ?
Dan J больше 2 лет назадСпасибо 0
1 чел.