Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Problem z wynikami z bazy
Forum PHP.pl > Forum > Przedszkole
obelix94
Niedawno wkroczyłem w MySQL i postanowiłem trochę się pobawić. Zrobiłem jeden skrypt na sprawdzenie "jak to działa", ale nie działa...

  1. <?php
  2. $login = 'admin';
  3. $pass = '17A5dF17';
  4. //przetwarzanie
  5. $baza = mysql_connect('mysql2.yoyo.pl', 'db727076', '*******', 'db727076');
  6. $zapytanie = "SELECT * FROM `uzytkownik` WHERE `login` = '".$login."' AND `haslo` = '".$pass."' LIMIT 0,30";
  7. $wynik = mysql_query($zapytanie);
  8. $ile = mysql_num_rows($wynik);
  9. $wiersz = mysql_fetch_assoc($wynik);
  10. //sprawdzanie wyników
  11. echo $ile.'<br>';
  12. echo $wiersz['login'].'<br>';
  13. echo $wiersz['haslo'].'<br>';
  14. echo $wiersz['id'].'<br>';
  15. echo $wiersz['imie'].'<br>';
  16. ?>



Wywala:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/c/m/cms-mateuszkow/test.php on line 7


Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /var/www/sites/yoyo.pl/c/m/cms-mateuszkow/test.php on line 9
MateuszS
Widzisz kolego ja mam podobny problem sad.gif
piotrooo89
przekazujesz złe zapytanie. poprawnie masz podane kolumny w tabeli? nazwa tabeli, ok?

jeśli tak to spróbuj zrobić tak:
  1. <?php
  2. $zapytanie = "SELECT * FROM uzytkownik WHERE login='$login' AND haslo='$pass' LIMIT 0,30";
  3. ?>
obelix94
Tak poprawnie mam tabelę i kolumny.Mateusz, na jakim serwerze masz ten problem?
Jest to coś związaane z ustawieniami? Mam serwer na yoyo.

EDIT: po poprawkach również nie działa
bim2
piotroo89 robi trochę na czuja, a ja jestem za debugowaniem, czyli...
pod
  1. <?php
  2. $wynik = mysql_query($zapytanie);
  3. ?>

dajemy
  1. <?php
  2. echo mysql_errno() . ": " . mysql_error(). "\n";
  3. ?>
MateuszS
Ja na localhoscie robie. Ale ja mam

Kod
<?php

ob_start();
include("baza.php");

$zapytanie = mysql_query('SELECT login FROM tabela') or die(mysql_error());
while ($row = mysql_fetch_assoc($zapytanie))
{
   echo $row["id_uzytkownika"];
   echo $row["pelna_nazwa"];
}
mysql_free_result($zapytanie);
ob_end_flush();

?>


i wywala mi

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource...
bim2
pod mysql_query daj tak jak mówiłem
  1. <?php
  2. echo mysql_errno() . ": " . mysql_error(). "\n";
  3. ?>


EDIT: No tak, nie zauważyłem smile.gif Używasz mysql_error()
piotrooo89
w takim razie nie ma opcji że podajesz poprawne zapytanie do bazy, musisz mieć coś nie tak. może łączysz się z inna baza i próbujesz wyciągnąć dane z tabeli która nie istnieje w tej bazie.
Kyle
A zamiast
Kod
mysql_query('SELECT login FROM tabela')

Daj
Kod
mysql_query($POŁĄCZENIE, 'SELECT login FROM tabela')


Mi bez podania linka do połączenia z bazą wywala błąd zawsze. Może u Ciebie to to samo?
MateuszS
U mnie to nie pomaga sad.gif

Kod
<?php

$polaczenie = mysql_connect('localhost', 'root', 'root');
$db = mysql_select_db('login', $polaczenie);

$zapytanie = mysql_query('SELECT login FROM tabela');
while ($row = mysql_fetch_assoc($zapytanie))
{
   echo $row["id_uzytkownika"];
   echo $row["pelna_nazwa"];
}
mysql_free_result($zapytanie);


?>


Mi po tym kodzie wywala biale tlo na stronie puste

A oto moja tabela w bazie o nazwie 'login'
http://www.speedyshare.com/523853304.html
Axexis
Jak na mój gust zamiast:
$baza = mysql_connect('mysql2.yoyo.pl', 'db727076', '*******', 'db727076');

winno być
$baza = ('mysql2.yoyo.pl', 'db727076', '*******');
mysql_select_db('db727076');


smile.gif

@up:
Dlaczego wyciagasz $row["id_uzytkownika"], $row["pelna_nazwa"] skoro w zapytaniu pytasz tylko o login? Select login, id_uzytkownika, pelna_nazwa FROM tabela
MateuszS
Heh lolx pozostalosc ;] Dzieki
obelix94
Wybierałem dobrze bazę. Oto rozwiązanie:
  1. <?php
  2. echo mysql_errno() . ": " . mysql_error(). "\n";
  3. ?>

Dodatkowo wywaliło:
  1. 1046: No DATABASE selected

Więc nie wybrałem bazy. Rozwiązanie podane przez ~Axesis:
  1. <?php
  2. $baza = ('mysql2.yoyo.pl', 'db727076', '*******');
  3. mysql_select_db('db727076');
  4. ?>


Dziękuję wszystkim za pomoc w naprowadzeniu na błąd, oraz za rozwiązanie.
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.