2011-08-12 29 views
1

データを挿入するためのコードを以下では取得できません。準備した挿入が失敗しました

<?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、フルCRUD権限を持つ数値の配列です。

私は他の答えを見て、何も適用されません、私は今この1つに固執しており、任意の助けに感謝しています。

私が持っていた:

+0

試し 'PDO :: ERRMODE_EXCEPTION'ではなく、PDO :: ERRMODE_WARNING' –

+0

@Pekka'のではなくなります差 –

答えて

0

が固定

$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);"); 
関連する問題