Autor Zpráva
Luky
Profil
Zdravím,
nejspíš neznám základní věci okolo db a PHP, ale potřeboval bych poradit.
Kdykoliv nechám zapsat do databáze část textu, kde je znaménko +, tak se mi do DB vůbec nenapíše (text ano, + ne).
Datový typ v db mám normálně text.
Předem děkuji za nějaké návrhy :)
ShiraNai7
Profil
Ukaž přesný a konečný SQL dotaz, který se posílá do databáze...
Taps
Profil
Luky:
ukáž nám kod.
Luky
Profil
Omlouvám se, to mě nenapadlo...
   $text = $_GET['text'];
    $text = htmlspecialchars($text);
    $vyt = mysql_query(" INSERT INTO chat (id, nick, time, text) VALUES ('', '$login', NOW(), '".$text."' ) ") or die('Chyba dotazu 1 '.mysql_error());
Taps
Profil
Luky:
 $vyt = mysql_query(" INSERT INTO chat (id, nick, time, text) VALUES ('', '$login', NOW(), '$text' ) ") or die('Chyba dotazu 1 '.mysql_error());

Kajman_
Profil *
Používejte
mysql_real_escape_string()
Keeehi
Profil
Luky:
Ten mysql_error něco vypíše?
Do databáze se: nevloží řádek vůbec/ vloží se všechno ostatní kromě text (to zůstane prázdné) / vloží se v text pouze obsah po plus / vloží se obsah do text, jediné co v něm chybí jsou znaky + ?
místo htmlspecialchars($text); použij mysql_real_escape_string($text);

Taps:
Tím to asi nebude

Když už se upravoval dotaz, tak já bych ho upravil takto:
mysql_query("INSERT INTO chat (`nick`, `time`, `text`) VALUES ('$login', NOW(), '$text')") or die('Chyba dotazu 1 '.mysql_error());
Luky
Profil
Bohužel mě nepomohla ani jedna věc
Taps:
To už jsem samozřejmě zkoušel...

Opravdu nevím, čím to může být
Kajman_
Profil *
Luky:
Vypište výsledný dotaz a případnou chybu.

Keeehi:
Spíše to bude kombinace obou funkcí, tedy
$text=mysql_real_escape_string(htmlspecialchars($text));

S tím, že nejspíše i login je potřeba ošetřit.
Keeehi
Profil
Kajman:
htmlspecialchars() mě přeci bude zajímat nejspíš až při výpisu.

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: