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

PHP/MySQL Indsæt null-værdier

Dette er et eksempel, hvor man bruger forberedte udsagn sparer dig virkelig for nogle problemer.

I MySQL, for at indsætte en null-værdi, skal du angive den ved INSERT tid eller udelad feltet, som kræver yderligere forgrening:

INSERT INTO table2 (f1, f2)
  VALUES ('String Value', NULL);

Men hvis du vil indsætte en værdi i det felt, skal du nu forgrene din kode for at tilføje de enkelte anførselstegn:

INSERT INTO table2 (f1, f2)
  VALUES ('String Value', 'String Value');

Udarbejdede erklæringer gør det automatisk for dig. De kender forskellen mellem string(0) "" og null og skriv din forespørgsel korrekt:

$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);

$field1 = "String Value";
$field2 = null;

$stmt->execute();

Det undslipper dine felter for dig, sørger for, at du ikke glemmer at binde en parameter. Der er ingen grund til at blive med mysql udvidelse. Brug mysqli og det er forberedte udtalelser i stedet. Du sparer dig selv for en verden af ​​smerte.



  1. Sådan fungerer SQLite Upper()

  2. konvertere klat til klat

  3. Brug af MySQL-klientapplikationer

  4. Bedste fremgangsmåder for SQL varchar kolonnelængde