Autor Zpráva
Kasta
Profil *
Ahoj,
mam problem s ukladanim do databaze. Delam to prez PHP takto:

MySQL_Query("INSERT INTO pages VALUES ('id', 'hodnota2', 'hodnota3', 'atd.',)");

to funguje, ale kdyz je napr. hodnota3 moc dlouha tak se cely radek neulozi. Nevi prosim nekdo cim by to mohlo byt?
nightfish_
Profil *
Kasta:
Nevi prosim nekdo cim by to mohlo byt?
mySQL je nastaveno do strict módu - pokud v takovém případě pošleš dotaz s nesprávnými daty (např. příliš dlouhý), dotaz se neprovede
Kasta
Profil *
Jde nejak deaktivovat?
Kajman
Profil
Kasta:
Jde nejak deaktivovat?

V tom odkazu je, jak si nastavit chtěný mód (set sql_mode), také tam najdete, že můžete použít insert ignore. Při obojem ale o přečuhující data příjdete. Lepší bude o tomto oříznutí uživatele informovat případně mu zvětšit onen sloupec.
Kasta
Profil *
Dekuji za odpovědi.
Ale co je mysleno tim zvetsit sloupec? Jako typ sloupce? Ten mam nastaveny na TEXT.
Kajman
Profil
Kasta:
Ale co je mysleno tim zvetsit sloupec? Jako typ sloupce? Ten mam nastaveny na TEXT.

Tak si ho můžete zvětšit z těch 64KiB na MEDIUMTEXT (16MiB) případně i víc (4GiB), kdyby to stále nestačilo.
Kasta
Profil *
Kdyz jsem nastavil LONGTEXT stale se neulozi, musim jeste nastavit strict mod?
Popripade co presne a jak udelat s tim stric modem.

Dekuji za odpoved, uz si opravdu nevim rady.
Kajman
Profil
Kasta:
stale se neulozi

A jakou to píše chybu? Případně i vypište sestavený dotaz.

Pokud nejde ani zmiňovaný insert ignore, tak to asi nebude jen o délce textu.
ahoj
Profil *
Kasta:
Dekuji za odpoved, uz si opravdu nevim rady.

Tak teď ještě smazat tu poslední čárku na konci dotazu.
Kasta
Profil *
Kajman:
A jakou to píše chybu? Případně i vypište sestavený dotaz.
Dotaz:
mysql_query("INSERT IGNORE INTO templates VALUES ('', '$template_name', '$template_obsah')") or print("Došlo k chybě v dotazu: <br>".mysql_error());
Error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 're on --> ' at line 1
Kajman
Profil
Vypište si sestavený dotaz (ta proměnná $q ve faq). Třeba tím zjistíte, že nemáte ošetřené vstupy.
Kasta
Profil *
Kajman:
Vypište si sestavený dotaz (ta proměnná $q ve faq). Třeba tím zjistíte, že nemáte ošetřené vstupy.
$vysledek = mysql_query($q="INSERT IGNORE INTO templates VALUES ('', '$template_name', '$template_obsah')") or print("Došlo k chybě v dotazu: ".$q."<br>".mysql_error());
Došlo k chybì v dotazu: INSERT IGNORE INTO templates VALUES ('', 'template_color_green', 'dlouhy text')
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 're on -->
Home
' at line 1
Kajman
Profil
Jestli chcete radu, vypište sem ten sestavený dotaz! Když chybná data nahradíte bezchybným textem 'dlouhy text', tak chybu nikdo najít nemůže!
Kasta
Profil *
Vsem dekuji za radu uz jsem na to prisel. V textu jsem mel ' (uvozovku).

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:

0