Hét vraag- en antwoordplatform van Nederland

Wat is er fout aan deze PHP code?


$_config["username"] = 'root';
$_config["password"] = '';
$_config["host"] = 'localhost';


mysql_connect ($_config["host"], $_config["username"], $_config["password"]);

$naam = mysql_real_escape_string($_POST['naam']);
$pass = mysql_real_escape_string($_POST['pass']);


$query = " SELECT * WHERE `naam` = '".$naam."' AND
`wachtwoord` = '".$pass."' ";

$run_query = mysql_query($query);

$tellen = mysql_num_rows($run_query);

If ($tellen == 1 )
{
Echo "U bent nu ingelogd";
}
Else
{
Echo "oeps…. Daar ging iets fout!!!";
}

?>

ik krijg de error : Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\wamp\www\php-test\verwerk.php on line 20
eps….

Verwijderde gebruiker
11 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Antwoorden (3)

Er zit een fout in je query , daarom kan hij het aantal rows niet ophalen.

Probeer de $query even te vervangen door dit, ik hoop dat het helpt:

$query = "SELECT * WHERE naam = '$naam' AND wachtwoord = '$pass'";

Als dit niet helpt, je moet op deze regel verder gaan kijken, hier zit de fout

Toegevoegd na 28 minuten:
Ik zag het even over het hoofd, het moet natuurlijk zo zijn:

$query = "SELECT * FROM tabelnaam WHERE naam = ’$naam’ AND wachtwoord = ’$pass’";

bij tabelnaam moet je de tabelnaam opgeven.
Jaspro101
11 jaar geleden
1: je hebt geen FROM in je query
2: mysql_query wordt in de nieuwere versies van php verwijderd. Die functie moet je dus vermijden, want over een paar jaar werkt je script niet meer.

Gebruik liever een raamwerk, zoals codeigniter. Even wennen, veel sneller code produceren.
Verwijderde gebruiker
11 jaar geleden
De bovenstaande reacties ga ik niet herhalen. Die spreken voor zich. Je maakt zo te zien geen verbinding met de database. Alleen met een server.

Mysql_select_db();
Verwijderde gebruiker
11 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing