Chyba v syntaxi SQL – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Chyba v syntaxi SQL – PHP – Fórum – Programujte.comChyba v syntaxi SQL – PHP – Fórum – Programujte.com

 

endless
~ Anonymní uživatel
1 příspěvek
18. 11. 2012   #1
-
0
-

 Ahoj,

mám formulář, který odkazuje na tenhle kód:

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '******';

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('nepripojeno k MYSQL');

$dbname = 'hrdinove';
mysql_select_db($dbname);

mysql_query("INSERT INTO heroes (hero_name , hero_role , hero_primary_stat , hero_lore , hero_says , hero_str , hero_agi , hero_int , hero_health , hero_mana , hero_damage , hero_atck_range , hero_atck_speed , hero_armor , hero_movespeed , hero_base_atck_time , spell_1_name , spell_1_ability , spell_1_affects , spell_1_description , spell_1_value_1 , spell_1_value_2 , spell_1_value_3 , spell_1_value_4 , spell_1_value_5 , spell_1_value_6 , spell_1_value_7 , spell_1_value_8 , spell_1_note , spell_1_cooldown , spell_1_manacost , spell_2_name , spell_2_ability , spell_2_affects , spell_2_description , spell_2_value_1 , spell_2_value_2 , spell_2_value_3 , spell_2_value_4 , spell_2_value_5 , spell_2_value_6 , spell_2_value_7 , spell_2_value_8 , spell_2_note , spell_2_cooldown , spell_2_manacost , spell_3_name , spell_3_ability , spell_3_affects , spell_3_description , spell_3_value_1 , spell_3_value_2 , spell_3_value_3 , spell_3_value_4 , spell_3_value_5 , spell_3_value_6 , spell_3_value_7 , spell_3_value_8 , spell_3_note , spell_3_cooldown , spell_3_manacost , spell_4_name , spell_4_ability , spell_4_affects , spell_4_description , spell_4_value_1 , spell_4_value_2 , spell_4_value_3 , spell_4_value_4 , spell_4_value_5 , spell_4_value_6 , spell_4_value_7 , spell_4_value_8 , spell_4_note , spell_4_cooldown , spell_4_manacost , spell_4_aghanim) 
VALUES (".$_POST['hero_name']." , ".$_POST['hero_role']." , ".$_POST['hero_primary_stat']." , ".$_POST['hero_lore']." , ".$_POST['hero_says']." , ".$_POST['hero_str']." , ".$_POST['hero_agi']." , ".$_POST['hero_int']." , ".$_POST['hero_health']." , ".$_POST['hero_mana']." , ".$_POST['hero_damage']." , ".$_POST['hero_atck_range']." , ".$_POST['hero_atck_speed']." , ".$_POST['hero_armor']." , ".$_POST['hero_movespeed']." , ".$_POST['hero_base_atck_time']." , ".$_POST['spell_1_name']." , ".$_POST['spell_1_ability']." , ".$_POST['spell_1_affects']." , ".$_POST['spell_1_description']." , ".$_POST['spell_1_value_1']." , ".$_POST['spell_1_value_2']." , ".$_POST['spell_1_value_3']." , ".$_POST['spell_1_value_4']." , ".$_POST['spell_1_value_5']." , ".$_POST['spell_1_value_6']." , ".$_POST['spell_1_value_7']." , ".$_POST['spell_1_value_8']." , ".$_POST['spell_1_note']." , ".$_POST['spell_1_cooldown']." , ".$_POST['spell_1_manacost']." , ".$_POST['spell_2_name']." , ".$_POST['spell_2_ability']." , ".$_POST['spell_2_affects']." , ".$_POST['spell_2_description']." , ".$_POST['spell_2_value_1']." , ".$_POST['spell_2_value_2']." , ".$_POST['spell_2_value_3']." , ".$_POST['spell_2_value_4']." , ".$_POST['spell_2_value_5']." , ".$_POST['spell_2_value_6']." , ".$_POST['spell_2_value_7']." , ".$_POST['spell_2_value_8']." , ".$_POST['spell_2_note']." , ".$_POST['spell_2_cooldown']." , ".$_POST['spell_2_manacost']." , ".$_POST['spell_3_name']." , ".$_POST['spell_3_ability']." , ".$_POST['spell_3_affects']." , ".$_POST['spell_3_description']." , ".$_POST['spell_3_value_1']." , ".$_POST['spell_3_value_2']." , ".$_POST['spell_3_value_3']." , ".$_POST['spell_3_value_4']." , ".$_POST['spell_3_value_5']." , ".$_POST['spell_3_value_6']." , ".$_POST['spell_3_value_7']." , ".$_POST['spell_3_value_8']." , ".$_POST['spell_3_note']." , ".$_POST['spell_3_cooldown']." , ".$_POST['spell_3_manacost']." , ".$_POST['spell_4_name']." , ".$_POST['spell_4_ability']." , ".$_POST['spell_4_affects']." , ".$_POST['spell_4_description']." , ".$_POST['spell_4_value_1']." , ".$_POST['spell_4_value_2']." , ".$_POST['spell_4_value_3']." , ".$_POST['spell_4_value_4']." , ".$_POST['spell_4_value_5']." , ".$_POST['spell_4_value_6']." , ".$_POST['spell_4_value_7']." , ".$_POST['spell_4_value_8']." , ".$_POST['spell_4_note']." , ".$_POST['spell_4_cooldown']." , ".$_POST['spell_4_manacost']." , ".$_POST['spell_4_aghanim'].")") 

or die(mysql_error()); 

mysql_close($conn);

?>

Problém je v tom, že když vyplním form., tak to vyhodí 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 ' , , , , , , , , , , , , , , , , , , , , , , , , , , ' at line 1

Nevíte, v čem by mohl být problém? Předem díky za reakce.


Nahlásit jako SPAM
IP: 88.100.92.–
KIIV
~ Moderátor
+43
God of flame
18. 11. 2012   #2
-
0
-

jestli sou to nejaky check boxy tak pokud nejsou zaskrtly, tak se vubec neposilaj... tim padem tam mas prazdnej retezec a ,,,,,, sql moc nemusi

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
z_moravec
~ Redaktor
+3
Posthunter
18. 11. 2012   #3
-
0
-

#1 endless
Nejspíš máš prázdné pole $_POST, zkus si vypsat

var_dump($_POST);

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
lubík
~ Anonymní uživatel
16 příspěvků
18. 11. 2012   #4
-
0
-

#3 z_moravec
řeším úplně stejný problém v jiném příspěvku, ale já nezapisuji do tabulky z proměnné která přijde přes $_POST ale z proměnné která se naplní v cyklu při procházení jednoho řádku souboru, jednoduše načtu řádek souboru ,ten uložím do proměnné a ten řádek chci zapsat do tabulky, a takto to dělám dokud není načtený poslední řádek ze souboru,ovšem já vím že soubor není prázdný a i přesto mi to vyhodí stejnou chybu jako endlessovi, podle toho co píšete Vy by to znamenalo že se do tabulky nedá zapsat prázdná proměnná $_POST  ?? a co když je v proměnné několik slov oddělených mezerou popřípadě několika mezerami a v tom řádku jsou i kombinace čísel mezer znaků apod.?? to je taky špatné pro zapsání do tabulky která je nastavená jako TEXT?? předem děkuji za odpověď

Nahlásit jako SPAM
IP: 89.103.94.–
KIIV
~ Moderátor
+43
God of flame
18. 11. 2012   #5
-
0
-

no musis hlavne pouzit zavorky a na ten retezec  mysql_escape_string nebo real escape...

Nahlásit jako SPAM
IP: 93.91.152.–
Program vždy dělá to co naprogramujete, ne to co chcete...
z_moravec
~ Redaktor
+3
Posthunter
18. 11. 2012   #6
-
0
-

#4 lubík
To záleží na datovém typu, pokud je to nejaký string - char, varchar, ... tak je to potřeba buď vložit jako NULL nebo prázdný řetězec ''. U jiných datových typů bych doporučoval používat NULL.

Nahlásit jako SPAM
IP: 46.39.170.–
Spát lze čtyři hodiny denně, spát déle je nemístný přepych.
Thomas Alva Edison
lubík
~ Anonymní uživatel
16 příspěvků
18. 11. 2012   #7
-
0
-

dík vyřešeno, určoval jsem název tabulky do který se má zapsat pomocí proměnný ale nefungovalo to, až když jsem ten název zapsal ručně tak se to rozjelo

Nahlásit jako SPAM
IP: 89.103.94.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 8 hostů

Podobná vlákna

Chyba v SQL — založil darebak

Chyba SQL dotazu — založil Radek

MS SQL Server 2008 -chyba — založil Koky

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý