Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Problém s kodem PHP

Zdravím,

mohl by mi někdo poradit kde je problém?

chyba-

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

Kod-

	$import2="DELETE FROM $stats WHERE (confid=$confid AND teamid=$teamid AND Name='$upraveny_text' AND Team='$data[1]' AND
		Pos='$data[2]' AND P='$data[4]'+'$data[5]' AND G='$data[4]' AND A='$data[5]' AND GP=1 AND Time='$time' AND PIMS='$data[6]' AND
		plusminus='$data[7]' AND PPG='$data[8]' AND SHG='$data[9]' AND Shoot='$data[10]' AND Hits='$data[11]',ID='0')";
		mysql_query($import2) or die(mysql_error());
loading...
Předmět Autor Datum
bylo by sexy dát print import2 az se tam priradi ty promenne, aby jsi to videl, vse nemyslis? AND H…
AZOR 04.04.2012 00:28
AZOR
Celá ta chyba je takto You have an error in your SQL syntax; check the manual that corresponds to y…
Gizzer 04.04.2012 07:14
Gizzer
AZOR má pravdu - tu čárku místo AND (či něčeho jiného) ti MySQL nepožere - pro jistotu jsem to teď v…
hynajs 04.04.2012 08:45
hynajs
Já jsem to zkoušel taky a chyba je úplně stejná
Gizzer 04.04.2012 08:52
Gizzer
Není v datech (třeba $data[4] ) např. neošetřená uvozovka ? Prohodil jsi je přes mysql_real_escape_s…
hynajs 04.04.2012 09:19
hynajs
Abych přesně vysvětlil oč jde. Jde o upload statistik ve formátu CSV. Upload funguje na jedničku,…
Gizzer 04.04.2012 09:29
Gizzer
Ten $teamid je asi autoincrement. Jestli tomu dobře rozumím, chceš smazat duplicitní záznam ? Ovšem…
hynajs 04.04.2012 09:37
hynajs
vyřešeno následovně: $import="DELETE FROM $stats WHERE (confid=$confid /*AND teamid=$teamid*/ AND N…
Gizzer 04.04.2012 11:07
Gizzer
Upload funguje na jedničku, není s ním žádný problém. Jestli tam vznikaj duplicity, ktere nechces,… poslední
AZOR 04.04.2012 14:56
AZOR

bylo by sexy dát print import2 az se tam priradi ty promenne, aby jsi to videl, vse nemyslis?

AND Hits='$data[11]',ID='0'

tohle se mi nezda, specialne ta carka je tam divne tam by melo bejt neco jako OR / AND nebo cokoliv jineho.

Celá ta chyba je takto

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 'AND Name='Bocharov Stanislav' AND Team='JPN' AND Pos='Player' AND P='1'+'0' A' at line 1

Abych přesně vysvětlil oč jde.

Jde o upload statistik ve formátu CSV.

Upload funguje na jedničku, není s ním žádný problém.

Toto co je výše je kod pro smazání statistiky pomocí také CSV souboru.

Tzn. že se může někdy stát že se zapíše jedna a tá sama statistika 2x tudíž chci tu dotyčnou co je tam podruhý smazat stejnýmy daty.Doufám že jsem to vysvětlil.
Problém bude asi v tom $teamid. Protože to soubor CSV neobsahuje a tvoří se automaticky při zapsání.
Nevím jak při tom mazání ten $teamid ignorovat.

Ten $teamid je asi autoincrement.
Jestli tomu dobře rozumím, chceš smazat duplicitní záznam ?
Ovšem to se týká až aplikace.
Prozatím řešíme syntaktickou chybu. Nejlepší by bylo vypsat $import2 před příkazem mysql_query.

vyřešeno následovně:

$import="DELETE FROM $stats WHERE (confid=$confid /*AND teamid=$teamid*/ AND Name='$upraveny_text' AND Team='$data[1]' AND
		Pos='$data[2]' AND P='$data[4]'+'$data[5]' AND G='$data[4]' AND A='$data[5]' AND GP=1 AND Time='$time' AND PIMS='$data[6]' AND
		plusminus='$data[7]' AND PPG='$data[8]' AND SHG='$data[9]' AND Shoot='$data[10]' AND Hits='$data[11]' AND ID='0')";
		mysql_query($import) or die(mysql_error());
		echo "Výsledek úspěšně smazán<br>\n";

Ikdyž to ještě nemaká tak jak bych chtěl ale už to maže. Mělo by to spíše odečítat. Ale to se snad vyřeší

Upload funguje na jedničku, není s ním žádný problém.

Jestli tam vznikaj duplicity, ktere nechces, tak upload je to co je na picu, odmazavat to po te, je smutny zpusob implementace, rybicky by nebyly radi a medvici mi byli smutni.

Zpět do poradny Odpovědět na původní otázku Nahoru

loading...