Buongiorno!
Dopo il grande aiuto datomi da marino51 per far funzionare tutto su Mysql, ecco che devo farlo funzionare anche su postgres.
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
Un file config.php
E il file input.php per inserire i dati passati dal form.
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
Ed infine il mio database su postgres:
Secondo voi, perchè non inserisce nulla nel database?
Il file su mysql funzionava alla perfezione.
Dopo il grande aiuto datomi da marino51 per far funzionare tutto su Mysql, ecco che devo farlo funzionare anche su postgres.

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: