Mysql
 sql >> Database >  >> RDS >> Mysql

PHP/MySQL Inserisce valori nulli

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.