pdo подготовил вставки не в состоянии - PullRequest
1 голос
/ 12 августа 2011

Я не могу получить приведенный ниже код для вставки данных.

<?php           
    $xml_gsm = null;
    try {
        // normally an include
        $data = new PDO(MYSQL_DSN, MYSQL_USERNAME, MYSQL_PASSWORD);
        $data->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);

        $stmt = $data->prepare("INSERT INTO tbl_sms_queue VALUES (fk_userId, fk_campaignId, message_content, gsm) VALUES (:userId, :campId, :message, :gsm);"); 
        foreach($gsms as $number):
            $xml_gsm .= "<gsm messageId='" . $data->lastInsertId() . "'>$number</gsm>";
            $stmt->execute(array(':userId'=>$userId, ':campId'=>$campId, ':message'=>$message, ':gsm'=>$number));
            print_r($data->errorInfo());
        endforeach;
    } catch(PDOException $e) {
        echo $e->getMessage();  
    }
?>

PDO errorInfo сообщает 00000, но ничего не вставлено, у пользователя есть полные права доступа, $ gsms - это массив чисел.

Я смотрел на другие ответы и ничего не применимо, сейчас я застрял на этом, и любая помощь приветствуется.

1 Ответ

0 голосов
/ 13 августа 2011

Исправлено:

Я имел:

$stmt = $data->prepare("INSERT INTO tbl_sms_queue VALUES (fk_userId, fk_campaignId, message_content, gsm) VALUES (:userId, :campId, :message, :gsm);");

вместо:

$stmt = $data->prepare("INSERT INTO tbl_sms_queue (fk_userId, fk_campaignId, message_content, gsm) VALUES (:userId, :campId, :message, :gsm);");
...