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….

Weet jij het antwoord?

/2500

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.

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.

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();

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100