[PHP] Inserimento dati database con postgres

keyz23

Nuovo Utente
18 Lug 2018
30
0
6
Buongiorno!
Dopo il grande aiuto datomi da marino51 per far funzionare tutto su Mysql, ecco che devo farlo funzionare anche su postgres. :eek:

In particolare, il mio problema è l'inserimento dei dati nel database che per qualche ragione non va a buon fine.

Ho creato un file dbconfig.php

PHP:
<?php
$host='localhost';
$db = 'postgres';
$username = 'postgres';
$password = '123456789';
?>
Un file config.php

PHP:
<?php
require_once 'dbconfig.php';

$dbh = "pgsql:host=$host;port=5432;dbname=$db;user=$username;password=$password";

try{
 // create a PostgreSQL database connection
 $conn = new PDO($dbh);
 
 // display a message if connected to the PostgreSQL successfully
 if($conn){
 echo "Connected to the <strong>$db</strong> database successfully!";
 }
}catch (PDOException $e){
 // report error message
 echo $e->getMessage();
}

?>
E il file input.php per inserire i dati passati dal form.

PHP:
$checkdata = "SELECT count(*) as prenotato
  FROM Prenotazione
 WHERE data='$data'
   AND NOT ('$newTimeEnd' < orario_inizio OR orario_fine < '$orario_inizio')";

$querycheck = $conn->prepare($checkdata);
$querycheck->execute();
$prenotato = $querycheck->fetch()[0];
var_dump($prenotato);
if ($prenotato == 0 AND $stanza == 0 ) {

    $query1 = "INSERT INTO Prenotazione (nominativo,email,data,orario_inizio,orario_fine,oggetto,nominativoi,emaili,nominativoe,emaile,stanza) VALUES ('$nominativo','$email','$data','$orario_inizio','$newTimeEnd','$oggetto','$nominativoi','$emaili','$nominativoe','$emaile',1)";
    var_dump($query1);
    $result1 = $conn->prepare($query1);
    $result1->execute();
    $rex = 1;
}
Ho provato l'inserimento nel form di dati e pur andando tutto bene nel database non viene inserito nulla.
Questa è la pagina che viene stampata dal file input.php

Connected to the postgres database successfully!
NULL string(250) "INSERT INTO Prenotazione (nominativo,email,data,orario_inizio,orario_fine,oggetto,nominativoi,emaili,nominativoe,emaile,stanza) VALUES ('aaaa','aaa@email.com','2018-10-03','09:30','12:30','asdsadsa','dddd','dddd@email.com','fffff','ffff@email.com',1)"

Ed infine il mio database su postgres:

PHP:
CREATE TABLE public."Prenotazione"
(
  id integer NOT NULL DEFAULT nextval('"Prenotazione_id_seq"'::regclass),
  nominativo character(20),
  email character(20),
  oggetto character(200),
  nominativoi character(200),
  nominativoe character(200),
  emaili character(200),
  emaile character(200),
  data date,
  orario_inizio time without time zone,
  orario_fine time without time zone,
  stanza integer
)
Secondo voi, perchè non inserisce nulla nel database?
Il file su mysql funzionava alla perfezione.
 
Ultima modifica di un moderatore:

Max 1

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
29 Feb 2012
4.251
324
83
@keyz23
Quando posti del codice PHP devi usare il tag
php.png
al posto del tag
code.gif

Grazie