$stmt = $conn->prepare("INSERT INTO user VALUES ('',:username,md5(:password),'',1,'','',:email,'',0,0,'',:cover,:dateofbirthYear:dateofbirthMonth:dateofbirthDay,NOW(),:sex,:country)");
$stmt->execute(array(
':username' => $username,
':password' => $password,
':email' => $email,
':cover' => $cover,
':dateofbirthYear' => $dateofbirthYear,
':dateofbirthMonth' => $dateofbirthMonth,
':dateofbirthDay' => $dateofbirthDay,
':sex' => $sex,
':country' => $country
));
По какой-то причине этот оператор вставки не работает. Я очень новичок в PDO, поэтому я мало знаю об этом. Что я делаю не так?Оператор вставки не работает с использованием execute (array()) расширения PDO
даного дает мне эту ошибку:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /home/manga/public_html/new/register.php:80 Stack trace:
#0 /home/manga/public_html/new/register.php(80): PDOStatement->execute(Array)
#1 {main} thrown in /home/manga/public_html/new/register.php on line 80
" Я искал ошибку в stackoverflow "И вы пробовали думать об этом для себя? – feeela
@feeela Если бы я этого не сделал, зачем мне задавать вопрос здесь? – shnisaka
Вы действительно должны [не использовать 'md5'] (http://www.php.net/manual/en/book.password.php) для [хэш-паролей] (https://github.com/ircmaxell/password_compat). – PeeHaa