To jeden z przykładów użycia przygotowanych wyciągów naprawdę oszczędza ci trochę kłopotów.
W MySQL, aby wstawić wartość null, musisz ją określić w INSERT
czas lub pomiń pole, które wymaga dodatkowego rozgałęzienia:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
Jeśli jednak chcesz wstawić wartość w tym polu, musisz teraz rozgałęzić swój kod, aby dodać pojedyncze cudzysłowy:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
Przygotowane zestawienia automatycznie robią to za Ciebie. Znają różnicę między string(0) ""
i null
i odpowiednio napisz zapytanie:
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
Ucieka dla ciebie twoje pola, upewnia się, że nie zapomnisz powiązać parametru. Nie ma powodu, aby pozostać przy mysql
rozbudowa. Użyj mysqli
i jest to przygotowane wyciągi
zamiast. Uratujesz sobie świat bólu.