Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mysql_num_rows
Forum PHP.pl > Forum > Przedszkole
acacia
Witam mój problem polega na tym że wyskakuje mi taki błąd:
podczas rejestracji
mysql_num_rows(): supplied argument is not a valid MySQL result resource in /public_html/register.php on line 33
oraz podczas logowania
mysql_num_rows(): supplied argument is not a valid MySQL result resource in /public_html/index.php on line 15
załączam plik index
http://pastebin.com/raw.php?i=TEdpbvrK
register
http://pastebin.com/raw.php?i=XD3TvDvh

w internecie znalazłem że muszę zamienić
if(!(mysql_num_rows($query)>=1)){
na
if(!$query || !mysql_num_rows($query)){
po czym podczas rejestracji już nie wywala błędów ale nie tworzy też żadnego użykownika w bazie danych
a podczas logowania mysql_num_rows zamieniło się na mysql_fetch_assoc:
mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /public_html/index.php on line 17

Co mam robić? Proszę o pomoc
Wazniak96
Na pewno stworzyłeś prawidłową bazę danych? Błąd mówi nam, że zapytanie jest źle ułożone. Czyli np odwołujemy się do tabeli lub kolumny której nie ma.
nospor
Jak juz wspomniano masz blad zapytania lub bazy. Niestety dalej juz źle ci napisano.
Poprostu sprawdź jaki to błąd pluje ci baza. Tu masz napisane jak
Temat: Jak poprawnie zada pytanie
acacia
błąd: No database selected
plik który importowałem zaczyna się tak:
--
-- Database: `instaclo_xx`
--
CREATE DATABASE IF NOT EXISTS `instaclo_xx` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `instaclo_xx`;
więc chyba wszystko powinno grać
a więc coś nie tak z tymi plikami czy trzeba zrobić coś w phpmyadmin
nospor
No i wszystko jasne. Komunikat bledu jest oczywisty....
Blad dotyczy łączenia sie z bazą w php a nie jakiegos importu ktory kiedys tam robiles.... W php łączac się z bazą masz rowniez wybrać z jaką bazą się łączyc a nie tylko dokonac połączenia.

http://pl1.php.net/manual/en/function.mysql-select-db.php

A najlepiej przerzuc się na PDO. NIe ma sensu zaczynac nauki od uczenia się tak archaicznych rzeczy.
acacia
podane przez Ciebie wybieranie bazy jest już zrobione w connect.php ;<
  1. <?php
  2. //Edit the following fields in order to establish a connection with MySQL
  3. //********************************************************************************
  4. $dbhost = "localhost"; //Leave this as 'localhost' once uploaded on a server
  5. $dbuser = "instaclo_ss"; //Username that is allowed to access the database
  6. $dbpass = "+ns$!rdxxsEs"; //Password
  7. $dbname = "instaclo_xx"; //Name of the database
  8. //********************************************************************************
  9.  
  10. $conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ("Error connecting to database");
  11. mysql_select_db($dbname);
  12. ?>
nospor
mysql_select_db($dbname) or die(mysql_error());
Linka podalem ci nie bez powodu
acacia
nie przypisałem użytkownika do bazy facepalmxd.gif
ale teraz przy logowaniu:
Unknown column 'id' in 'field list'
a rejestracji:
Unknown column 'username' in 'field list'

domyśliłem się że moja baza ma trochę inną strukturę więc zaminiłem:
register:
  1. $query = mysql_query("SELECT username
  2. FROM users
  3. WHERE username='$username'
  4. ") or die('BŁĄD:'.mysql_error());

na:
  1. $query = mysql_query("SELECT name
  2. FROM users
  3. WHERE name='$username'
  4. ") or die('BŁĄD:'.mysql_error());

index:
  1. $query = mysql_query("SELECT id, password
  2. FROM users
  3. WHERE username='$username'
  4. ") or die('BŁĄD:'.mysql_error());

na:
  1. $query = mysql_query("SELECT user_id, password
  2. FROM users
  3. WHERE name='$username'
  4. ") or die('BŁĄD:'.mysql_error());

i teraz żadnych błędów ale nie robi użytkownika tylko wyświetla że utworzyło konto, a zalogować się i tak nie moge bo nie mam użytkownika :<
a tu ss struktury bazy: http://i.imgur.com/BNvYzyi.png
coś zrobiłem źle? czy to nie ma prawa działać?
nospor
A tu:
mysql_query("INSERT INTO users(username, password)
VALUES ('$username', '$password')
");
tez poprawiles?
Tez dodales komunikaty z bledami?

Podalem ci linka ze wskazowkami jak sprawdzac bledy. Zastosuj sie w koncu do niego po calosci a nie tylko wyrywkowo i co chwile z pierdułą lecisz na forum

ps: przenosze na przedszkole
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.