sql >> データベース >  >> RDS >> Mysql

エラー:'無効なパラメーター番号:パラメーターが定義されていません'配列を使用してPDOに挿入する場合

    ファントムが彼の答えで言ったように、あなたにはタイプミスがあります。 event_price_currencyがあります 配列を入力して:event_price_currency_id prepare()ステートメントのプレースホルダー。それがうまくいかない場合は、次のコードを試してタイプミスを確認してください。問題が発生した場合はお知らせください。

    try
    {
       $DBH->beginTransaction();
       $STH = $DBH->prepare("INSERT INTO event_prices(event_id, event_price_type, event_price,  event_price_currency_id, event_price_info ) values (?, ?, ?, ?, ?)");
    
      foreach($prices as $price)
      {
        foreach($price as $row)
        {
            $data[] = $row;
        }
    
        $STH->execute($data);
        $data = NULL;
      }
    
      $DBH->commit();
    }
    
    catch(PDOException $e)
    {
      echo 'Error ! ' . $e->getMessage();
      die();
    }
    


    1. MariaDBでのMID()のしくみ

    2. エラー、文字列、またはバイナリデータは、挿入しようとすると切り捨てられます

    3. ストアド関数またはプロシージャを呼び出しても、変更は挿入および永続化されません

    4. PostgreSQLでのpg_typeof()のしくみ