Toto je jeden příklad použití připravených příkazů opravdu vám ušetří nějaké problémy.
V MySQL, abyste mohli vložit hodnotu null, musíte ji zadat v INSERT
čas nebo vynechejte pole, které vyžaduje další větvení:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
Pokud však chcete do tohoto pole vložit hodnotu, musíte nyní kód rozvětvit a přidat jednoduché uvozovky:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
Připravené výpisy to automaticky udělají za vás. Znají rozdíl mezi string(0) ""
a null
a správně napište svůj dotaz:
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
Uteče za vás vaše pole, zajistí, že nezapomenete svázat parametr. Není důvod zůstávat u mysql
rozšíření. Použijte mysqli
a je to připravená prohlášení
namísto. Ušetříte si svět bolesti.