Autor | Zpráva | ||
---|---|---|---|
Kasta Profil * |
#1 · Zasláno: 1. 3. 2012, 12:11:40
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 * |
#2 · Zasláno: 1. 3. 2012, 12:15:40
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 * |
#3 · Zasláno: 1. 3. 2012, 12:51:35
Jde nejak deaktivovat?
|
||
Kajman Profil |
#4 · Zasláno: 1. 3. 2012, 14:31:35
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. |
||
Časová prodleva: 5 dní
|
|||
Kasta Profil * |
#5 · Zasláno: 6. 3. 2012, 09:23:22
Dekuji za odpovědi.
Ale co je mysleno tim zvetsit sloupec? Jako typ sloupce? Ten mam nastaveny na TEXT. |
||
Kajman Profil |
#6 · Zasláno: 6. 3. 2012, 09:36:24
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. |
||
Časová prodleva: 9 dní
|
|||
Kasta Profil * |
#7 · Zasláno: 15. 3. 2012, 09:20:33
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 |
#8 · Zasláno: 15. 3. 2012, 09:39:56
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 * |
#9 · Zasláno: 15. 3. 2012, 09:40:14
Kasta:
„Dekuji za odpoved, uz si opravdu nevim rady.“ Tak teď ještě smazat tu poslední čárku na konci dotazu. |
||
Kasta Profil * |
#10 · Zasláno: 15. 3. 2012, 10:28:18
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()); 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 |
#11 · Zasláno: 15. 3. 2012, 10:46:24
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 * |
#12 · Zasláno: 15. 3. 2012, 11:06:06
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 |
#13 · Zasláno: 15. 3. 2012, 11:19:35
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 * |
#14 · Zasláno: 15. 3. 2012, 15:27:10
Vsem dekuji za radu uz jsem na to prisel. V textu jsem mel ' (uvozovku).
|
||
Časová prodleva: 12 let
|
0