Autor Zpráva
free
Profil *
Dobrý den, chci se zeptat kde je tady problém? Nejspíš se mu nelíbí "switch($_POST['productId']){", ale nejsem si jisej a pokud tomu tak je, tak jak to můžu nahradit aby to bylo funkční? Děkuju


switch($_POST['productId']){
while ($addy = mysql_fetch_array($add_products)) {
	case $addy["id_product"];
		echo $addy["id_product"]."|||".$addy["name_product"]."|||".$addy["price"];
		break;
}
}
nightfish
Profil
zajímavá konstrukce, chyb je tam několik, použití switche je zcela zbytečné...
while ($addy = mysql_fetch_array($add_products)) {
  if ($addy["id_product"] == $_POST['productId']) {
    echo $addy["id_product"]."|||".$addy["name_product"]."|||".$addy["price"];
  }
}


a nebo ještě lépe doplnit omezení přímo do SQL dotazu...
mysql_query("SELECT * FROM tabulka WHERE id_product = ".(int)$_POST['productId']);

(předpokládá, že productId je celočíselná hodnota a že na celé stránce chceš načíst informace jenom o tomto jednom produktu)
free
Profil *
JJ, taky jsem si to uvedomil a dal jsem to podminkou where. Sakra vy jste dobrý. Co mě trvalo 30 minut jinej koukne a vidí :-) Děkuju
Jen se zeptám co znamená to (int)? To je proti sql injection?
AM_
Profil
Jo, je to přetypování dané proměnné na integer, což je zde kvůli zachování správnosti SQL dotazu s jakýmkoli vstupem, včetně SQL injection.
free
Profil *
Ještě jednou děkuju

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: