Sto usando PhpPgAdmin.
Devo fare due query per inserire i dati di un utente in due differenti tabelle, a partire da un form di registrazione.
Quindi ho fatto: pagina di registrazione con i form.
Metodo post e faccio ad esempio $nome = $_POST['nome'];
E fin qui tutto ok.
I dati che l'utente inserisce vanno, o meglio andrebbero, a finire in due tabelle
UTENTE e PRIVATO
Il mio problema è che se faccio solo la query di inserimento per UTENTE commentando l'altra funziona. Se le faccio insieme (devo per forza fare prima utente e poi privato perché c'è di mezzo una chiave esterna) non funzionano. Non mi escono gli errori e non si riempiono le tabelle:
Questa è la pagina con le query
Codice PHP:
<?php
#DATABASE E QUERY#
$privato = 'privato';
$db1 = new db();
$db1->db_open();
$result1 = $db1->query("INSERT INTO utente (login, pw, tipo_utente) VALUES ('".$login."', '".$password."', '".$privato."')");
#$db1->db_close();
$db2 = new db();
$db2->db_open();
$result2 = $db2->query("INSERT INTO privato (codf, nome, cognome, email, tel, autorizzato, login) VALUES ('".$codfiscale."', '".$nome."', '"$cognome"', '".$email."', '".$tel."', FALSE, '".$login."')");
if (!$result1 || !$result2) {
?>
<td class="testo">Ops! C'è qualcosa che non va!</td>
<?php
#exit;
}else{
?>
<td class="testo">Utente <span class="menu"><?php echo $login; ?></span> inserito! Ora loggati alla [url="index.php"]pagina iniziale[/url].</td>
<?php
}
#$db2->db_close();
?>
Questa è la pagina di connessione al db:
Codice PHP:
<?php
class db{
function db_open(){
$this->db_conn = pg_connect("host=localhost port=5432 dbname=postgres user=postgres password=mikmik");
if (!$this->db_conn){
echo "
Errore impossibile connettersi al db $this->dbname
";
}
}
function query($query){
$result = pg_query($this->db_conn,$query);
return $result;
#return pg_send_query $this->db_conn,$query);
}
?>