2014-01-13 2 views
-1

я пытаюсь запустить этот PDO подготовленное заявлениеPDO подготовленное заявление сообщение об ошибке Uncaught исключение

$stmt = $pdo_conn->prepare(
    "INSERT into email_attachments (email_seq, attachment) 
    values (:email_seq, :attachment) "); 
$stmt->execute(array(
    ':email_seq' => $admin_email_sequence, 
    ':attachment' => $_SERVER["DOCUMENT_ROOT"].'/'.$settings["ticket_files_folder"].'/'.$ticketnumber.'-'.$currentDate.'-'.$at[filename], $at[attachment] 
)); 

, но я получаю эту ошибку:

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens' in /home/integra/public_html/autocheck/support_emails.php:662 Stack trace: #0 /home/integra/public_html/autocheck/support_emails.php(662): PDOStatement->execute(Array) #1 {main} thrown in /home/integra/public_html/autocheck/support_emails.php on line 662

+2

Что не ясно, о сообщение об ошибке? – PeeHaa

ответ

1

У вас есть дополнительные ) внутри выполнения массива, а также у вас есть дополнительный элемент массива ($ в [крепежного])

Попробуйте этот код

$stmt = $pdo_conn->prepare("INSERT into email_attachments (email_seq, attachment) values (:email_seq, :attachment) "); 
$stmt->execute(array(
    ':email_seq' => $admin_email_sequence, 
    ':attachment' => $_SERVER["DOCUMENT_ROOT"] . '/' . $settings["ticket_files_folder"] . '/' . $ticketnumber . '-' . $currentDate . '-' . $at[filename] 
)); 
2

В самом конце :attachment записи, которую вы есть запятая вместо того, что я предполагаю, должен быть периодом.

.$at[filename], $at[attachment] 
       ^-- here 

Это вызывает исключение, потому что у вас есть 2 метки в вашем запросе и 3 элемента в вашем массиве.

Смежные вопросы