Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z mysql_fetch_array
Forum PHP.pl > Forum > Przedszkole
faxsilver
witam
mam problem ,wywala mi błąd w trakcie uruchamiania rezultaty.php i nie wiem gdzie zostal on popelniony
Oto źródło:
  1. <html>
  2. <head>
  3. <title>"Dupa"-Rezultaty wyszukiwania</title>
  4. </head>
  5. <body>
  6. <h1>"Dupa mać"-Rezultaty wyszukiwania </h1>
  7. <?php
  8. include ('global.php');
  9. // utworzenie krótkich nazw zmiennych
  10. $metoda_szukania=$_POST['metoda_szukania'];
  11. $wyrazenie=$_POST['wyrazenie'];
  12.  
  13. $wyrazenie = trim($wyrazenie);
  14.  
  15. if (!$metoda_szukania || !$wyrazenie)
  16. {
  17. echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  18. }
  19.  
  20. {
  21. $metoda_szukania = addslashes($metoda_szukania);
  22. $wyrazenie = addslashes($wyrazenie);
  23. }
  24. $db = mysql_connect('host', 'login', 'haslo', 'db');
  25.  
  26.  
  27. $zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  28. $wynik = mysql_query('use db') or die(mysql_error()); ;
  29.  
  30.  
  31.  
  32.  
  33. $ile_znalezionych = count($wynik);
  34.  
  35. echo '<p>Iloć znalezionych pozycji: '.$ile_znalezionych.'</p>';
  36.  
  37. $i=0;
  38. while ($wiersz = mysql_fetch_array($wynik))
  39. {
  40. $wiersz = $wynik->fetch_assoc();
  41. echo '<p><strong>'.($i+1).'. Imię_Klienta: ';
  42. echo stripslashes($wiersz['Imię_Klienta']);
  43.  
  44. echo '</p>';
  45. $i++;
  46. }
  47.  
  48.  
  49. ?>
  50.  
  51. </body>
  52. </html>


skrypt ma zliczac rekordy z bazy danych i wyswietlac ich ilosc natomiast wychodzi zawsze ilosc 1 i wywala sie na Warning: mysql_fetch_array(): supplied a....
jakies sugestie pomysły???wszystko mozna zobaczyc na www.klienci.yoyo.pl/szukaj.html
venomz
  1. <?php
  2. $zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  3. $wynik = mysql_query('use db') or die(mysql_error());
  4. ?>


a nie powinno byc mysql_query($zapytanie) ?
faxsilver
Cytat
Kod php
1
2
3
4
<?php
$zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
$wynik = mysql_query('use db') or die(mysql_error());
?>


a nie powinno byc mysql_query($zapytanie) ?


ja kto zmienie wyskakuje 'No database selected' ;]
venomz
  1. <?php
  2. $zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  3. $wynik = mysql_query($zapytanie) or die(mysql_error());
  4. ?>
skowron-line
  1. <?php
  2. $zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  3. $wynik = mysql_query($zapytanie) or die(mysql_error()); ;
  4.  
  5. $ile_znalezionych = mysql_num_rows($wynik);
  6. ?>
faxsilver
wedle instrukcji venomza:
  1. html>
  2. <head>
  3. <title>"Dupa"-Rezultaty wyszukiwania</title>
  4. </head>
  5. <body>
  6. <h1>"Dupa mać"-Rezultaty wyszukiwania </h1>
  7. <?php
  8. include ('global.php');
  9. // utworzenie krótkich nazw zmiennych
  10. $metoda_szukania=$_POST['metoda_szukania'];
  11. $wyrazenie=$_POST['wyrazenie'];
  12.  
  13. $wyrazenie = trim($wyrazenie);
  14.  
  15. if (!$metoda_szukania || !$wyrazenie)
  16. {
  17. echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  18. }
  19.  
  20. {
  21. $metoda_szukania = addslashes($metoda_szukania);
  22. $wyrazenie = addslashes($wyrazenie);
  23. }
  24. $db = mysql_connect('mysql1.yoyo.pl', 'faxsilver', 'faxsilver1', 'faxsilver');
  25.  
  26.  
  27. $zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  28. $wynik = mysql_query($zapytanie) or die(mysql_error());
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35. echo '<p>Iloć znalezionych pozycji: '.$ile_znalezionych.'</p>';
  36.  
  37. $i=0;
  38. while ($wiersz = mysql_fetch_array($wynik))
  39. {
  40. $wiersz = $wynik->fetch_assoc();
  41. echo '<p><strong>'.($i+1).'. Imię_Klienta: ';
  42. echo stripslashes($wiersz['Imię_Klienta']);
  43.  
  44. echo '</p>';
  45. $i++;
  46. }
  47.  
  48.  
  49. ?>
  50.  
  51. </body>
  52. </html>

wyskakuje no database selected

wedle instrukcji skowron-line
  1. <html>
  2. <head>
  3. <title>"Dupa"-Rezultaty wyszukiwania</title>
  4. </head>
  5. <body>
  6. <h1>"Dupa mać"-Rezultaty wyszukiwania </h1>
  7. <?php
  8. include ('global.php');
  9. // utworzenie krótkich nazw zmiennych
  10. $metoda_szukania=$_POST['metoda_szukania'];
  11. $wyrazenie=$_POST['wyrazenie'];
  12.  
  13. $wyrazenie = trim($wyrazenie);
  14.  
  15. if (!$metoda_szukania || !$wyrazenie)
  16. {
  17. echo 'Brak parametrów wyszukiwania. Wróć do poprzedniej strony i spróbuj ponownie.';
  18. }
  19.  
  20. {
  21. $metoda_szukania = addslashes($metoda_szukania);
  22. $wyrazenie = addslashes($wyrazenie);
  23. }
  24. $db = mysql_connect('mysql1.yoyo.pl', 'faxsilver', 'faxsilver1', 'faxsilver');
  25.  
  26.  
  27. $zapytanie = "select * from Klienci where ".$metoda_szukania." like '%".$wyrazenie."%'";
  28. $wynik = mysql_query($zapytanie) or die(mysql_error()); ;
  29.  
  30. $ile_znalezionych = mysql_num_rows($wynik);
  31.  
  32.  
  33. $ile_znalezionych = count($wynik);
  34.  
  35.  
  36. echo '<p>Iloć znalezionych pozycji: '.$ile_znalezionych.'</p>';
  37.  
  38. $i=0;
  39. while ($wiersz = mysql_fetch_array($wynik))
  40. {
  41. $wiersz = $wynik->fetch_assoc();
  42. echo '<p><strong>'.($i+1).'. Imię_Klienta: ';
  43. echo stripslashes($wiersz['Imię_Klienta']);
  44.  
  45. echo '</p>';
  46. $i++;
  47. }
  48.  
  49.  
  50. ?>
  51.  
  52. </body>
  53. </html>

wyskakuje no database selected ;]
Nie wiem moze gdzies popelniam blad
pzdr
skowron-line
  1. <?php
  2. mysql_connect('host','user','haslo');
  3. mysql_select_db('nazwa bazy');
  4. ?>

ps na yoyo sa przeboje z baza

p.s $ile_znalezionych = count($wynik); <--- wywal
venomz
eh nie wiem co dokladnie jest nie tak, w kazdym razie komunikat mowi sam za siebie : brak wybranej bazy danych.

baze wybierasz albo w momencie laczenia z mysql'em podajac ostatni parametr:

  1. <?php
  2. $db = mysql_connect('mysql1.yoyo.pl', 'faxsilver', 'faxsilver1', 'faxsilver');
  3. ?>


tutaj: 'faxsilver'

albo laczysz sie normalnie i baze wybierasz pozniej w skrypcie wydajac polecenie:

  1. <?php
  2. $db = mysql_connect('mysql1.yoyo.pl', 'faxsilver', 'faxsilver1');
  3. mysql_select_db(nazwa_bazy_danych);
  4. ?>


sprawdz czy podawana przez ciebie nazwa jest prawidlowa
faxsilver
a czy mozna prosic caly kod juz przerobiony, bo moze gdzies zle cos robie ,- to pierwsze pytanie
a drugie pytanie : jakie sa dobre darowe serwery z obsluga mysql i php questionmark.gif

sorki za zawracanie glowy ale dopiero sie ucze



venomz jest poprawna:)

p.s.
skowron-line po Twoich poprawkach zaczyna ladnie zliczac ale wyskakuje blad :
Fatal error: Call to a member function on a non-object in /var/www/sites/yoyo.pl/k/l/klienci/rezultaty.php on line 44
skowron-line
  1. <?php
  2. $i=0;// apo co to??
  3. while ($wiersz = mysql_fetch_array($wynik))
  4. {
  5. $wiersz = $wynik->fetch_assoc();// a po co to??
  6. echo '<p><strong>'.($i+1).'. Imię_Klienta: ';
  7. echo stripslashes($wiersz['Imię_Klienta']);
  8.  
  9. echo '</p>';
  10. $i++;
  11. }
  12. ?>


jezeli chcesz dac numerowanie to po co robiesz
  1. <?php
  2. $i+1
  3. ?>
questionmark.gif
  1. <?php
  2. while ($wiersz = mysql_fetch_array($wynik))
  3. {
  4. $i++
  5. echo '<p><strong>'.$i.'. Imię_Klienta: ';
  6. echo stripslashes($wiersz['Imię_Klienta']);
  7. echo '</p>';
  8. }
  9. ?>


edit.[size=7]wychaszuj sobie haslo do bazy
faxsilver
skowron-line po zmianie skryptu na jaki sugerujesz wyskakuje

Parse error: syntax error, unexpected T_ECHO in /var/www/sites/yoyo.pl/k/l/klienci/rezultaty.php on line 45
Cytat
edit.[size=7]wychaszuj sobie haslo do bazy


pisalem ze sie ucze smile.gif
skowron-line
nie ma srednika po $i++

no ale to sam mogles zauwazyc
faxsilver
Cytat
nie ma srednika po $i++

no ale to sam mogles zauwazyc


nie widze juz dobrze na oczy;]

po poprawieniu wyskakuje blad :
mysql_close(): supplied argument is not a valid MySQL-Link resource in /var/www/sites/yoyo.pl/k/l/klienci/rezultaty.php on line 52

ale zlicza i wyswietla dane z bazy ;]
skowron-line
moze tak
  1. <?php
  2. ?>
faxsilver
wielkie dzieki wszystkim ktorzy wzieli udzial we wprowadzaniu do mojej glowy wiedzy z tej dziedziny.
zapewne jeszcze tu wroce.
dzieki:)

juz dziala
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.