Autor Zpráva
grimword
Profil
Pokud text obsahuje ' (apostrof), tak se záznam neuloží do MySQL.

Můj starý kód:
$titulek1=htmlspecialchars($titulek1);
MySQL_Query("insert into a_waiting (id, titulek, ...............) VALUES ('', '$titulek1', '.............................)");

Řešením by mělo být $titulek1=mysql_real_escape_string(htmlspecialchars($titulek1)); Jenomže o tom čtu, že je to zastaralé.

Jak tedy mám ošetřit tu proměnnou, abych mohl ukládat apostrof?
juriad
Profil
grimword:
Zastaralé je i mysql_query a přesto to používáš.
Správně bys měl do databáze použít jen funkci mysql_real_escape_string. A funkci htmlspecialchars až když budeš titulek z databáze vypisovat.
Toto platí pro všechny řetězce, které ukládáš/vypisuješ z databáze.
Joker
Profil
Lehce doplním juriada:
mysql_real_escape_string je ta správná funkce pro použití s mysql_query.
Zastaralé je mysql rozšíření jako celek, včetně mysql_query, čili když už skript musí používat mysql_query, je mysql_real_escape_string ta správná escapovací funkce.
grimword
Profil
Díky, tak to tedy použiji.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: