Может кто-нибудь объяснить, почему
$sql->execute($params);
возвращает FALSE
, тогда как
print $pdo->errorCode();
print_r($pdo->errorInfo());
оба возвращают SQLSTATE
00000
, что означает в соответствии с успешностью документации? Это 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());