PDO SQL -состояние «00000», но все еще ошибка? [дубликат]

На этот вопрос уже есть ответ здесь:

Кто-нибудь может объяснить, почему

$sql->execute($params);

возвращает FALSE, тогда как

print $pdo->errorCode();
print_r($pdo->errorInfo());

оба возвращаютсяSQLSTATE00000, что означает по документации успех? Это INSERT, и на самом деле ничего не вставляется в базу данных... так почему же я получаю сообщение об успешном выполнении от SQLSTATE?


Если это поможет, вот код...

$sql = $pdo->prepare("
        INSERT INTO user (
            username, fname, pass, salt, email,
            loc_id_home, country_id_home, region_id_home,
            cont_id_home, timestamp_reg, timestamp_upd, timestamp_lastonline, 
            online_status, gender, birthdate
            )
        VALUES (
            :username,:fname,:pass,:random_salt,:email,
            :loc_id_home,:country_id_home,:region_id_home,
            :cont_id_home,'".time()."','".time()."','".time()."',
            1,:gender,:birthdate)
        ");

$params=array(
    ':username'=>$username,
    ':fname'=>$fname,
    ':pass'=>$pass,
    ':random_salt'=>$random_salt,
    ':email'=>$email,
    ':loc_id_home'=>$loc_id_home,
    ':country_id_home'=>$country,
    ':region_id_home'=>$region,
    ':cont_id_home'=>$continent,
    ':gender'=>$gender,
    ':birthdate'=>$birthdate
);  

$sql->execute($params);

print $pdo->errorCode();
print_r($pdo->errorInfo());
24
задан Robert Harvey 6 October 2017 в 20:50
поделиться