lokaal geen fout op linux server wel

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Gewijde

gewijde

10/05/2006 20:11:00
Quote Anchor link
hoi,
waarom krijg ik deze foutmelding.
lokaal werkt dit prima.
g
g

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource ...

function checkLogin($emailadres, $password)
{
$paswoord=$password; //md5($password);
$sql = "SELECT klant_id, email FROM Klanten WHERE email = '$emailadres' AND paswoord = '$paswoord'";
$result = mysql_query($sql);
$aantal = mysql_num_rows($result);
if($aantal == 1)
{
return true;
}
else
{
return false;
}
}
 
PHP hulp

PHP hulp

17/11/2024 02:47:42
 
Jan Koehoorn

Jan Koehoorn

10/05/2006 20:19:00
Quote Anchor link
De ene keer schrijf je password op zijn Engels en de andere keer paswoord op zijn Nederlands. Doe ook aan errorchecking als je een query uitvoert!

edit:

Dus bijv:
$result = mysql_query($sql) or trigger_error (mysql_error ());
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Killerpuppy

Killerpuppy

10/05/2006 20:55:00
Quote Anchor link
heb je wel een gegeven in de database zitten?
 
Winston Smith

Winston Smith

10/05/2006 21:48:00
Quote Anchor link
Let erop dat een Linux besturingssysteem case sensitive is, dat wil zeggen dat je moet letten op hoofdletters en kleine letters. Een variabele met de naam ditiseenvariabele is iets anders dan ditIsEenVariabele.

Op Windows is het niet hoofdlettergevoelig (maar PHP weer wel, dus mogelijk heb je hier niks aan ^^ )
 
Arjan Kapteijn

Arjan Kapteijn

10/05/2006 22:05:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function checkLogin($emailadres, $password)
{

    $paswoord=$password; //md5($password);
    $sql = "SELECT klant_id, email FROM Klanten WHERE email = '$emailadres' AND paswoord = '$paswoord'";
    $result = mysql_query($sql);
    
    if($result && mysql_num_rows($result) == 1)
    {

        return true;
    }
else{
        return false;
    }
}

?>


Voor de rest sluit ik mij aan bij Jan en Kasper.

?>
 
Robert Deiman

Robert Deiman

10/05/2006 23:28:00
Quote Anchor link
Hier hetzelfde script als van Arjan, maar dan met de variabelen in de query buiten quotes, tussen enkele quotes ( ' ) wordt niet geparsed en sql zoekt dus op een rij waarbij de inhoud van paswoord "$paswoord" is en niet gelijk aan de inhoud van $paswoord.

Probeer om deze reden altijd variabelen buiten quotes te houden. Het helpt je overigens ook nog eens bij debuggen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
function checkLogin($emailadres, $password)
{

    $paswoord=$password; //md5($password);
    $sql = "SELECT klant_id, email FROM Klanten WHERE email = '".$emailadres."' AND paswoord = '".$paswoord."'";
    $result = mysql_query($sql);
    
    if($result && mysql_num_rows($result) == 1)
    {

        return true;
    }
else{
        return false;
    }
}

?>
 
Jelmer -

Jelmer -

11/05/2006 07:47:00
Quote Anchor link
@robert, volgens mij tellen alleen de quotes die je gebrui,t om het begin en het einde aan te geven als 'de beslissende quote'. Dus op zich zou dat van Arjan wel werken.

@guido
Misschien is het nog even handig om te kijken naar md5 en addslashes.
 
Robert Deiman

Robert Deiman

11/05/2006 08:59:00
Quote Anchor link
Jelmer:
@robert, volgens mij tellen alleen de quotes die je gebrui,t om het begin en het einde aan te geven als 'de beslissende quote'. Dus op zich zou dat van Arjan wel werken.


Ik heb het even getest en je hebt gelijk, het werkt zo ook wel. De 1e reden valt dan wel weg, maar voor debuggen en dergelijke kan je op "mijn" manier veel gemakkelijker de variabelen terugvinden.
 
Jelmer -

Jelmer -

11/05/2006 16:53:00
Quote Anchor link
mee eens :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.