Questo è un esempio di utilizzo di dichiarazioni preparate ti fa risparmiare davvero qualche guaio.
In MySQL, per inserire un valore nullo, devi specificarlo in INSERT
tempo o omettere il campo che richiede ulteriori ramificazioni:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
Tuttavia, se vuoi inserire un valore in quel campo, devi ora diramare il tuo codice per aggiungere le virgolette singole:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
Le dichiarazioni preparate lo fanno automaticamente per te. Conoscono la differenza tra string(0) ""
e null
e scrivi la tua richiesta in modo appropriato:
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
Sfugge ai tuoi campi per te, si assicura di non dimenticare di associare un parametro. Non c'è motivo di rimanere con mysql
estensione. Usa mysqli
e sono dichiarazioni preparate
invece. Ti risparmierai un mondo di dolore.