PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Pourquoi l'insertion ne fonctionne-t-elle pas et ne génère-t-elle aucune erreur sur postresql?

S'il vous plaît essayez quelque chose comme ça. Notez l'utilisation de pg_query_params() au lieu de pg_query() pour que l'insertion se prémunisse contre l'injection 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
   }

?>