Autor Zpráva
HpG
Profil *
Dobrý den,
chtěl jsem aby každý uživatel měl tamulku s inforamcemi:
                   <?php
		
			if(isset($_GET['uzivatel'])){
				$id=(int)$_GET['uzivatel'];			// Do proměnné $id si dáme číslo volaného uživatele. Tuto proměnnou raději z bezpečnostních důvodů přetypujeme na INTEGER
				require "db_conn.php";			// Spojení na databázi
				$Vyber=mysql_query("SELECT * FROM `uzivatele` WHERE `id`='$id' LIMIT 1");
					$Vypis=mysql_fetch_array($Vyber);	// Naplníme pole
						if($Vypis['nazev']){	// Dostali jsme nějaký výsledek, vypíšeme info
							echo "  ",$Vypis["prezivka"],""; 	
							// Protože jsme  si prohlídli info o uživateli, přičteme mu hit.
							mysql_query("UPDATE `uzivatele` SET `hit`=`hit`+1 WHERE `id`='$id' LIMIT 1");				
						}else{
							echo "Uživatel s takovým ID se v databázi nenachází.";
						}
			
			}
			
		?>

Problém je, že když volám /seznam_uziv.php?uzivatel=1 napíše mi to:
Uživatel s takovým ID se v databázi nenachází.
Přitom v DB uživatel s id 1 je.
Joker
Profil
HpG:
Jak vypadá skutečný SQL dotaz který se posílá do databáze? Provede se dotaz správně (co je v proměnné $vyber)? Co je pak v proměnné $vypis?

Při řešení podobných problémů je nejlepší si prostě vypsat obsah proměnných, obvykle pak je alespoň vidět, kde nastává chyba.
Taps
Profil
HpG:
echo"SELECT * FROM `uzivatele` WHERE `id`='$id' LIMIT 1";
petr 6
Profil
HpG:
Přitom v DB uživatel s id 1 je.
A má vyplněný sloupec nazev? Prázdný řetězec je taky vyhodnocen jako false, tudíž nesplňuje podmínku.

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