Ciao,
sto impazzendo ormai da giorni su una, apparentemente, semplice funzione che al passaggio di alcuni parametri dovrebbe registrare i dati su un database.
La funzione è questa
quindi: la variabile $dati è un array che contiene i valori da inserire e viene passata dal form che serve a inserire i dati.
Come si vede nella funzione c'è anche un var_dump() che mostra sia la query che i valori passati e infatti il risultato è questo:
Dunque la funzione non torna nessun errore, e la "Registrazione avvenuta con successo!" non avviene affatto, il database non ha record.
Io francamente sto per arruolarmi nella legione straniera :skull:
sto impazzendo ormai da giorni su una, apparentemente, semplice funzione che al passaggio di alcuni parametri dovrebbe registrare i dati su un database.
La funzione è questa
PHP:
function salvataggio($dati) {
try {
include_once '../bin/connessione.php';
$dbh = connetti();
$querySQL = 'INSERT INTO pagina ';
$querySQL .= '(nome, visibile, creata, titolo_pagina, titolo_header, occhiello_header) ';
$querySQL .= "VALUES (:nome, :visibile, :creata, :titolo_pagina, :titolo_header, :occhiello_header)";
$sth = $dbh->prepare($querySQL);
echo '<pre>'; var_dump($sth, $dati); echo '</pre>';
$sth->bindValue(':nome', $dati['nuova_nome_pagina'], PDO::PARAM_STR);
$sth->bindValue(':visibile', $dati['nuova_visibilita'], PDO::PARAM_INT);
$sth->bindValue(':creata', $dati['nuova_creata']);
$sth->bindValue(':titolo_pagina', $dati['nuova_titolo_pagina'], PDO::PARAM_STR);
$sth->bindValue(':titolo_header', $dati['nuova_titolo_header'], PDO::PARAM_STR);
$sth->bindValue(':occhiello_header', $dati['nuova_occhiello_header'], PDO::PARAM_STR);
if (!$sth->execute()) {
echo "PDO Error 1.1:\n";
print_r($sth->errorInfo());
exit;
} else {
echo 'Registrazione avvenuta con successo!';
}
unset($sth, $dati, $dbh);
}
catch (PDOException $e) {echo $e->getMessage();}
catch (Exception $e) {echo $e->getMessage();}
} // salvataggio()
Come si vede nella funzione c'è anche un var_dump() che mostra sia la query che i valori passati e infatti il risultato è questo:
( l'icona che si vede ovviamente è un problema del forum e non dello script )object(PDOStatement)#2 (1) {
["queryString"]=>
string(177) "INSERT INTO pagina (nome, visibile, creata, titolo_pagina, titolo_header, occhiello_header) VALUES nome, :visibile, :creata, :titolo_pagina, :titolo_header, cchiello_header)"
}
array(6) {
["nuova_nome_pagina"]=>
string(5) "frfdf"
["nuova_visibilita"]=>
int(1)
["nuova_creata"]=>
string(10) "2014-10-22"
["nuova_titolo_pagina"]=>
string(7) "fdasfaf"
["nuova_titolo_header"]=>
string(7) "asdfsdf"
["nuova_occhiello_header"]=>
string(6) "dsafdf"
}
Registrazione avvenuta con successo!
Dunque la funzione non torna nessun errore, e la "Registrazione avvenuta con successo!" non avviene affatto, il database non ha record.
Io francamente sto per arruolarmi nella legione straniera :skull: