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

ループを使用したPHPPDO挿入

    変数をバインドする必要はありません。私は以前に同様のコードでこれを行いました。しかし、何がうまくいかないかを言うのは難しいです。例外はありますか?もしそうなら、それは何ですか?

    私が間違っていると思うのは、ループ内に準備ができていることだけです...次のようになります:

    try {
             $conn = new PDO("mysql:host=$host;dbname=$dbName", $un, $pw);
             echo 'Connected to database<br>';
    
            $sql = "INSERT INTO studentData (originallyAddedOn, inputMethod, studentFirst, studentLast, studentStreet, studentCity, studentState, studentZip, studentDOB, studentGender, studentGrade, schoolName, schoolStreet, schoolCity, schoolState, schoolZip, schoolContactName, schoolContactTitle, schoolContactEmail, schoolContactPhone) VALUES (:originallyAddedOn, :inputMethod, :studentFirst, :studentLast, :studentStreet, :studentCity, :studentState, :studentZip, :studentDOB, :studentGender, :studentGrade, :schoolName, :schoolStreet, :schoolCity, :schoolState, :schoolZip, :schoolContactName, :schoolContactTitle, :schoolContactEmail, :schoolContactPhone)";
    
            // prepare once... exceute many :-)
            $q = $conn->prepare($sql); 
    
            foreach($studentDataArray as $student) {
                $q->execute($yourDataArray);
                // do other stuff if needed
    
            }
    
    } catch(PDOException $e) {
      echo $e->getMessage();
    }
    


    1. JDBCコネクタ5.1を使用してJavaからMySQLでUTF-8データを読み書きする際の問題

    2. Unicodeエンコードエラー'latin-1'コーデックは文字'\u2019'をエンコードできません

    3. 関係テーブルの複合インデックス

    4. ORA-00604 ORA-12705