PHP + MySQL, wyświetlanie rekordów - powtarza się


(Alan Elektro) #1

Witam!

Mam kod o następującej treści:

<?

   include ("includes/config.inc.php");

   $db = @mysql_select_db("baza", $connection);


$numerekusera = 1;

$zapytanie = "SELECT * FROM questions where id=$numerekusera";

$wykonaj = mysql_query ($zapytanie);


while($wiersz=mysql_fetch_array ($wykonaj)) {

 echo $wiersz['question']."
";


	}


    mysql_close($connection); 


	?>

problem polega na tym że wyświetla mi zawsze po 2 razy ten sam rekord. To rzecz pierwsza, a druka, to problem z rozłączeniem bazy danych ponieważ wyświetla mi się:

ale to możę dlatego że baza danych jest nadal w użyciu? przez resztę strony?

dziękuje za ewentualne podpoweidzi w rozwiązaniu problemu z podwójnym wypisywaniem rekordu.


(Piotrrj) #2
  1. do "mysql_fetch_array" dodaj parametr MYSQL_ASSOC (dlaczego tak poczytaj http://pl.php.net/mysql_fetch_array)

Pozdrawiam


(Alan Elektro) #3

dziękuje, dałem rade, usuwając pętle while :slight_smile: ciekawe ile to będzie działać hehe :slight_smile:

mam jeszcze jeden problem:

to mi nie chce działać:...

problem polega na tym że jako zapytanie w bazie danych nie moge używać liter przy "nick=", moge podawać np. "nick=1" ale nie nick= jakaś literka.

$zapytanie = "SELECT * FROM users where nick=modrih";

$result=mysql_query($zapytanie);


$num=mysql_fetch_array($result, MYSQL_ASSOC);


$wykonaj = mysql_query ($zapytanie);


$wiersz=mysql_fetch_array($wykonaj); 

echo $wiersz['nick']."
";

wyrzuca mi błąd zapytania...


(Anddezr+Dobreprogramy Pl) #4

Po 1 - powinieneś napisać jaki błąd.

Po 2 - weź pierwszy lepszy kurs mysql i zobacz, jak się używa where.


(Zbyszekborkowski) #5

Musisz napisać coś takiego 'SELECT * FROM users WHERE nick="modrih";'.

Jeśli wyszukujesz po jakimś tekście, musisz dać cudzysłów. Przy liczbach się go nie używa.