Błąd przy liczeniu kolumn z bazy

0

Próbowałem różnymi metodami, ale to nic nie daje. Chyba moja wiedza na ten moment jest niewystarczająca, więc proszę o pomoc.

if (isSet($_POST['wyslane']))  {
	$login = $_POST['login'];
	$password = $_POST['password'];
	$login = addslashes($login);
	$password = addslashes($password);
	
	try {
		$sql = "SELECT * FROM users WHERE user='".$login."' AND password ='".$password."' ";
		$result = $pdo->query($sql);
	}

	catch (PDOException $e) {
	include './error.html.php';
	}
	$num_rows = mysql_num_rows($result, $pdo); //Warning: mysql_num_rows() expects parameter 1 to be resource, object given in C:\XAMPP\htdocs\mojastrona\index.php on line 27
	
	if ($num_rows > 0) {
		$_SESSION['zalogowany'] = true;
		$_SESSION['login'] = $login;
		$_SESSION['password'] = $password;
	}
	else {
	include './error.html.php';
	}
}
0

a patrzyłeś w ogóle co zwraca mysql_fetch_array albo chociaż przykład jak tego używać??

0

no to zrób zamiast SELECT * FROM SELECT COUNT(*) AS ile FROM zobacz jaką wartość ma ile i po problemie. Poza tym pobieranie całego wiersza (albo wierszy jak coś będzie nie tak) tylko po to aby zobaczyć czy cokolwiek w bazie jest to błąd

0

Przede wszystkim niech nie miesza "dwóch systemów walutowych" pdo i mysql_*

0

Użeram się z tym drugi dzień, ktoś coś ?

	$sql = "SELECT user, password FROM users WHERE password='".$user."' AND user='".$password."' GROUP BY user";
	$result = mysql_query($sql) or die ("baza danych");

while ($row = mysql_fetch_array($result, MYSQL_ASSOC) or die ("foqnd")) { //wywala mi die ciągle, ktoś coś ?
    printf ("ID: %s  Nazwa: %s", $row["user"], $row["password"]);  
}
mysql_free_result($result);

	
0
$sql = "SELECT user, password FROM users WHERE password='".$user."' AND user='".$password."' GROUP BY user"; 
  1. Nie daje Ci żadnego zbioru bo masz: (To nie jest główny problem)
password='".$user."' AND user='".$password."' 

a pewnie powinno być:

password='".$password."' AND user='".$user."'. 

To jest główny problem:

 $sql = "SELECT user, password FROM users WHERE password='".$user."' AND user='".$password."' GROUP BY user";
 

Grupujesz używając usera, i to jest głowny problem, dostajesz taki błąd:

Column 'password' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY

Nie jest Ci potrzebne żadne grupowanie, usuń to group by.

$sql = "SELECT user, password FROM users WHERE password='".$password."' AND user='".$user."'; 

Jak dostajesz błędy w skrypcie php, które są powiązane z bazą danych, to po prostu uruchom zapytanie w bazie danych z odpowiednimi danymi(takie jak przyjmują zmienne php) i dostaniesz błąd.Szybki i dobry sposób.

Pozdrawiam i życze dużo cierpliwości do PHP ;-)

1 użytkowników online, w tym zalogowanych: 0, gości: 1