Hallo, Ik was bezig met een inlogscriptje maar dan gaat er bij het verbinding maken met de MySQl db iets fout:


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\www\Sites\Vatos Locos\inloggen.php on line 111

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\www\Sites\Vatos Locos\inloggen.php on line 112

Notice: Trying to get property of non-object in C:\www\Sites\Vatos Locos\inloggen.php on line 115

Bron script:

<?php
include_once("config.php");
if(isset($_POST['Login'])){
if(!$_POST['gebruikersnaam']){
echo"Er is geen gebruikersnaam ingevuld!<br />";
}
if(!$_POST['wachtwoord']){
echo"Er is geen wachtwoord ingevuld!<br />";
}
if(isset($_POST['www'])){
$ww_onthouden = "ja";
}
else{
$select = "SELECT * FROM gebruikers WHERE gebruikersnaam=".$_POST['gebruikersnaam']."";
$query = mysql_query($select);
$list = mysql_fetch_array($query);
if(mysql_num_rows($query) == 0){
echo"De opgegeven gebruikersnaam bestaat niet!";
}
if($list->wachtwoord != $_POST['wachtwoord']){
echo"Het ingevoerde wachtwoord komt niet overeen met de gegevens";
}
}
}
?>

Ik snap echter niet wat ik fout doe.
Kan iemand mij hiermee helpen?
zoals je zelf al zegt er gaat iets fouts bij het verbinden met het database :),

ik neem aan dat in je config.php je connectie staat ? laat config.php eens zien ?:)
Ik denk dat je singlequotes nodig hebt in deze regel.

$select = "SELECT * FROM gebruikers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'";

Ik ben het zo als atijd met Burdy eens.
voor de volledigheid:
Er gaat nix fout met de verbinding

Jij vraagt PHP om de gegevens welke tijdelijk in $query
zijn opgeslagen te 'fetchen' met de daarvoor bestemde functie mysql_fetch_array

Alleen PHP zegt nu tegen jou er zitten geen resultaten in $query.
Dit geeft een warning. Dit kun je voorkomen door vooraf een check te doen of er wel iets in $query zit.
Je hebt helemaal gelijk, er bestond helemaal geen tabel gebruikers, gewoon een stomme fout :(

In ieder geval hartelijk bedankt voor de hulp.
Waarom doe je niets aan foutafhandeling? Er is geen enkele reden om aan te nemen dat een query lukt. Dus altijd eerst controleren of het is gelukt en dán pas verder gaan met je script.

'Ik neem aan', is op z'n Engels 'I assume'. Oftewel 'I make an ass of you and me!' Naar de Nederlandse betekenis kun je wel raden. Doe, zeker met programeren, nooit en te nimmer aannames. Het kan alleen maar fout gaan, die garantie heb je.

Reageren