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

postresqlで挿入が機能せず、エラーが出力されないのはなぜですか?

    このようなことを試してください。 pg_query_params()の使用に注意してください pg_query()の代わりに SQLインジェクションを防ぐための挿入用。

     <?php   
    
       $pra = "SELECT * FROM people";
    
       $decks = pg_query($connection, $pra); 
    
       if(!$decks){                         
         $sql =  "CREATE TABLE people(
                    mom  INT PRIMARY KEY NOT NULL, 
                    non  TEXT NOT NULL,
                    ooo  INT NOT NULL,
                    ppp  INT NOT NULL,
                    aqqq TEXT,
                    pq   TEXT
                  )";
          $rcon = pg_query($connection, $sql);
          if(!$rcon){
            echo pg_last_error($connection);
          } else {
            echo "Database table created"; //success confirmation
          }
    
       }
    
       $val_array = array($mom, $non, $ooo, $ppp, $aqqq, $pq);
       var_dump($val_array);
       $ins = " INSERT INTO people (mom, non, ooo, ppp, aqqq, pq)
                VALUES($1, $2, $3, $4, $5, $6)";
       $rcon =pg_query_params($connection, $ins, $val_array);
    
       if(!$rcon){
            echo pg_last_error($connection);
       } else {
            echo "Record added to database"; //success confirmation
       }
    
    ?>
    



    1. MySQLでタスクマネージャのデータベースを設計するためのガイド

    2. SELECT*FROMテーブルWHERE列=1,2,3,4

    3. SQLiteデータベースに現在の日付と時刻を挿入する

    4. 内部結合クエリで重複を防ぐ方法(Postgres)