Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Problem z wynikiem z bazy danych
Forum PHP.pl > Forum > Przedszkole
KolegS
mam problem mój skrypt wywołuje taki błąd
Kod
Warning: mysqli_affected_rows() expects parameter 1 to be mysqli, boolean given in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\projekt\loguj.php on line 17


oto mój skrypt
  1. <?php
  2. $nazwa=$_POST['nazwa'];
  3. $haslo=$_POST['haslo'];
  4. if(empty($nazwa) || empty($haslo)){
  5.  echo 'brak danych do zalogowania';
  6.  exit;
  7. }
  8. $db=mysqli_connect("localhost", "kolegs", "qweasd", "test");
  9. if (mysqli_connect_errno()) {
  10. printf("Connect failed: %s\n", mysqli_connect_error());
  11. exit();
  12. }
  13.  
  14.  
  15. $zap='select * from users where (nazwa='.$nazwa.') AND (haslo='.$haslo.')';
  16. $result=mysqli_query($db, $zap);
  17. $ile_znalezionych=mysqli_affected_rows($result);
  18. if ($ile_znalezionych>0){
  19.  $wiersz=mysqli_fetch_assoc($wynik);
  20.  echo "$wiersz";
  21.  
  22. }
  23.  
  24. mysqli_close($db);
  25. ?>


czy wiecie co źle robie?

przy okzaji chciałbym zapytać czy dobrze robię próbując zmienić wynik na tablice korzystając z funkcji mysqli_feth_assoc()?

Z góry dzięki za pomoc
zzeus
zamień $result na $db
artega
1. Używaj funkcji z przedrostkiem mysql_, będzie łatwiej winksmiley.jpg
2. Zamień
  1. <?php $wiersz=mysqli_fetch_assoc($wynik); ?>

na
  1. <?php $wiersz=mysql_fetch_assoc($result); ?>

3. Trzymaj się ustalonego nazewnictwa to unikniesz takich problemów.
KolegS
dzięki ale mam jeszcze jedno pytanie teraz mój kod nie zwraca już błędów ale nic nie wyświetla nawet jak wpisze dane które są w bazie danych, a więc mam pytanie jak wywołać te dane które zostały zwrócone z zapytania najlepiej w postaci tablicy

mój aktualny kod to
  1. <?php
  2. $nazwa=$_POST['nazwa'];
  3. $haslo=$_POST['haslo'];
  4. if(empty($nazwa) || empty($haslo)){
  5.  echo 'brak danych do zalogowania';
  6.  exit;
  7. }
  8. $db=mysqli_connect("localhost", "kolegs", "qweasd", "test");
  9. if (mysqli_connect_errno()) {
  10. printf("Connect failed: %s\n", mysqli_connect_errno());
  11. exit();
  12. }
  13.  
  14.  
  15. $zap='select * from users where (nazwa='.$nazwa.') AND (haslo='.$haslo.')';
  16. $result=mysqli_query($db, $zap);
  17. $ile_znalezionych=mysqli_affected_rows($db);
  18. if ($ile_znalezionych>0){
  19.  $wiersz=mysqli_fetch_assoc($result);
  20.  echo "$wiersz[0]";
  21.  
  22. }
  23.  
  24. mysqli_close($db);
  25.  
  26. ?>
piotrooo89
nie wiem czy dobrze Cię zrozumiałem ale do pokazywania rekordów z bazy służy mysql_fetch_array
artega
Wstaw na początku skryptu:
  1. <?php error_reporting(E_ALL); ?>

a zobaczysz co robisz nieprawidłowo.
Crozin
Używasz: mysqli_fetch_assoc() (czyli do tablicy ze zwróconymi indexami tekstowymi) a odwołujesz się do $wiersz[0] (index numeryczny)


Używasz: mysqli_fetch_assoc() (czyli do tablicy ze zwróconymi indexami tekstowymi) a odwołujesz się do $wiersz[0] (index numeryczny)
KolegS
ok pozmieniałem to i jeszcze postanowiłem sprawdzić ile wyników to zwraca bo być możę to jest błędem i okzało się że funkcja mysqli_affected_rows() zwróciła mi -1 wyników co to oznacza??

EDIT: pytanie wciąż aktualne ale jak zmieniłem zapytanie na "select * from users" to zwróciło dobrze wynik i ładnie działa
guitarnet.pl
http://skrypta.pl/porada/dlaczego_unikac_f...sql_num_rows/43
tu masz liczenie odnosnie selecta

a tu wyciaganie danych z tabeli
http://skrypta.pl/porada/jak_odczytac_pola_z_tabeli_mysql/17
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.