Quando mi hai consigliato la modifica , che ho testato continuava a non inviare i dati del form al database...ora secondo la tua opinione è consigliabile fare il binding sulle operazioni CRUD?
ho provato a fare in questo modo:
<?php
require_once("db.php");
if(!empty($_POST["add_record"])) {
$sql = "INSERT INTO clienti ( cognome, nome, codice_fiscale, codice_verifica, piano_terapeutico, note ) VALUES ( :cognome, :nome, :codice_fiscale, :codice_verifica, :piano_terapeutico, :note ); )";
$pdo_statement = $db->prepare( $sql );
$pdo_statement ->bindValue(':id', $id, PDO::PARAM_INT);
$pdo_statement ->bindvalue(':cognome' , $cognome, PDO::PARAM_STR);
$pdo_statement ->bindvalue(':nome' , $nome, PDO::PARAM_STR);
$pdo_statement ->bindvalue(':codice_fiscale' , $codice_fiscale, PDO::PARAM_STR);
$pdo_statement ->bindvalue(':codice_verifica' , $codice_verifica, PDO::PARAM_STR);
$pdo_statement ->bindvalue('piano_terapeutico' , $piano_terapeutico, PDO::PARAM_STR);
$pdo_statement ->bindvalue('note' , $note, PDO::PARAM_STR );
$result = $pdo_statement->execute( array( ':cognome'=>$_POST['cognome'], ':nome'=>$_POST['nome'], ':codice_fiscale'=>$_POST['codice_fiscale'], ':codice_verifica'=>$_POST['codice_verifica'], ':piano_terapeutico'=>$_POST['piano_terapeutico'], ':note'=>$_POST['note'] ) );
if (!empty($result) ){
header('location:index.php');
}
}
?>
continua ad inserire ma vorrei capire se l'impostazione è giusta .
Inoltre potrebbe funzionare anche facendo semplicemente il binding della query $sql? Eventualmente visto che ci sono valori INT per l'id e STR come andrebbe impostata?