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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Tedd Master

Tedd Master

05/01/2009 16:03:00
Quote Anchor link
Warning: mysql_result(): supplied argument is not a valid MySQL result resource

deze warning error krijg ik terug

op deze 2de regel

$_GET=mysql_query("SELECT count(id) FROM member WHERE user='$user' and pass='$pass'");
$result=mysql_result($get, 0);

wie kan mij helpen...
 
PHP hulp

PHP hulp

12/11/2024 21:13:29
 
Dennis Mertens

Dennis Mertens

05/01/2009 16:07:00
Quote Anchor link
Wilt gij de code tussen [code][/code] tags zetten. En ook
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php gebruiken voor de kleurtjes.

Sorry, maar dit is onleesbaar.

Wel zie ik dat jij de $_GET variabele wilt vullen op die manier. Niet doen :), de $_GET variabele is bedoelt om gegevens uit de URL te halen.

En gebruik mysql_num_rows i.p.v. mysql_result.

Dat is uit eindelijk je antwoord denk ik. Dan kan die , 0 ook weg.
 
Joren de Wit

Joren de Wit

05/01/2009 16:11:00
Quote Anchor link
Het lijkt erop dat je sql query mislukt is, helaas controleer je dat nergens in je script. Zorg dus dat je goede foutafhandeling toepast bij het uitvoeren van je queries, dat scheelt een stuk met debuggen.

Zie deze SQL beginnershandleiding voor voorbeelden van hoe je dat kunt doen.

Quote:
En gebruik mysql_num_rows i.p.v. mysql_result.
Dennis, lees even in de php.net handleiding wat mysql_result precies doet. Dan zie je waarschijnlijk in dat dat hier helemaal geen verkeerde aanpak is, wellicht zelfs de snelste...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Dennis Mertens

Dennis Mertens

05/01/2009 16:12:00
Quote Anchor link
Ik heb mysql_result ook een tijdje gebruikt, en werd er ontiegelijk moe van, en ben toen mysql_num_rows gaan gebruiken.

Alhoewel ik nu met mysqli werk en gewoon ->num_rows erachter zet :)
 
- SanThe -

- SanThe -

05/01/2009 16:15:00
Quote Anchor link
$_GET=mysql_query(........
Daar gebruik je natuurlijk nooit de superglobal GET voor.

$result=mysql_result($get, 0);
En _GET <> get.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Willem Jan Z

Willem Jan Z

05/01/2009 16:17:00
Quote Anchor link
Lieve schatten, als jullie heel even kijken naar wat hij doet voordat jullie posten, mogen jullie daarna proberen te helpen oke?

@Tedd: Je stopt nu en resultset van een query in $_GET, daarna geef je als parameter aan mysql_result $get mee, die (in de code die je hier geeft in ieder geval) niet bestaat.

Probeer het zo eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
    $sql
= "SELECT count(id) FROM member WHERE user='".$user."' and pass='".$pass."'";
    $result = mysql_query($sql);
    $aantal = mysql_result($get, 0);
    echo 'Aantal rijen: '.$aantal;
?>


edit: Was uiteraard niet tegen SanThe, SanThe kijkt wel voordat hij post :)
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
 
Dennis Mertens

Dennis Mertens

05/01/2009 16:19:00
Quote Anchor link
Wat hij doet? Ik zie niets, alleen maar zwarte tekst.

En daarnaast post jij nu iets wat al 2 x eerder is gepost.
Gewijzigd op 01/01/1970 01:00:00 door Dennis Mertens
 
Willem Jan Z

Willem Jan Z

05/01/2009 16:22:00
Quote Anchor link
Dennis Mertens schreef op 05.01.2009 16:19:
Wat hij doet? Ik zie niets, alleen maar zwarte tekst.

En daarnaast post jij nu iets wat al 2 x eerder is gepost.


Alleen SanThe gaf aan dat hij een andere var gebruikte dan die hij vulde hoor. Dat hij $_GET hier beter niet kan gebruiken heeft niks met zijn error te maken. Aangezien jullie dat al vermeld hadden, heb ik dat er dus niet bijgezet. Maar fijn dat je mee helpt de sfeer te verbeteren hoor! Dan was dit mijn 5000e post en heb ik het voorlopig wel gezien op phphulp (alweer).
 
Dennis Mertens

Dennis Mertens

05/01/2009 16:24:00
Quote Anchor link
Daarom ook mijn post dat ik er niks uit kan halen zonder kleurtjes :).

PS: Welke sfeer?
 
Terence Hersbach

Terence Hersbach

05/01/2009 16:42:00
Quote Anchor link
$_GET=mysql_query("SELECT count(id) FROM member WHERE user='$user' and pass='$pass'");
$result=mysql_result($get, 0);
 
Joren de Wit

Joren de Wit

05/01/2009 16:46:00
Quote Anchor link
Dennis Mertens schreef op 05.01.2009 16:24:
Daarom ook mijn post dat ik er niks uit kan halen zonder kleurtjes :).
De code zelf verandert niet hoor, kleurtjes of niet. Het zal enkel de leesbaarheid ten goede komen, maar voor dat doeleinde kun je de code ook even kopieren en in je eigen favoriete editor plakken.
Quote:
PS: Welke sfeer?
Ik ben het met WillemJan eens dat je best even op je manier van reageren kunt letten. Die is niet altijd even vriendelijk...
WillemJan Z schreef op 05.01.2009 16:17:
Lieve schatten, als jullie heel even kijken naar wat hij doet voordat jullie posten, mogen jullie daarna proberen te helpen oke?
Je hebt helemaal gelijk, toch eens wat beter kijken in eerste instantie :-)
 
Tedd Master

Tedd Master

05/01/2009 16:52:00
Quote Anchor link
danke allemaal voor de hulp dit is het script waar het omgaat, de error is wel opgelost maar het script werkt dus niet helaas.

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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<form action='login.php?login=yes' method="POST">
Username <input type="text" name="user"/><br />
Password <input type="password" name="pass" /><br />
<input type="submit" value="POST"/>
</form>

<?php
    
    $user
=$_POST['user'];
    $pass=$_POST['pass'];
    $login=$_POST['login'];
    
    if($login=='yes') {
        $con=mysql_connect('localhost', 'user', 'passsssss');
        mysql_select_db('dbn');    
    
    $_POST=mysql_query("SELECT count(id) FROM member WHERE user='$user' and pass='$pass'");
    $result=mysql_num_rows($POST);
    
    
    
    if(!$result) echo "Login failure";
    else{
            echo "Login success!";
            $_SESSION['user']=$user;            
    
    mysql_close($con);
    
    };
}

?>
 
Terence Hersbach

Terence Hersbach

05/01/2009 16:57: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
16
17
18
19
20
21
22
23
24
25
26
<form action='login.php?login=yes' method="POST">
Username <input type="text" name="user"/><br />
Password <input type="password" name="pass" /><br />
<input type="submit" value="POST"/>
</form>

<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $user  = mysql_real_escape_string($_POST['user']);
    $pass  = mysql_real_escape_string($_POST['pass']);
        
    $con = mysql_connect('localhost', 'user', 'passsssss');
    mysql_select_db('dbn');    
    
    $qry = mysql_query("SELECT id FROM member WHERE user='$user' and pass='$pass'");
    
    $result = mysql_num_rows($qry);
    
    if (!$result) {
        echo "Login failure";
    }
else {
            echo "Login success!";
            $_SESSION['userid'] = $result['id'];            
    }
}

?>

probeer te begrijpen wat ik hier gedaan heb ;)
Gewijzigd op 01/01/1970 01:00:00 door Terence Hersbach
 
- SanThe -

- SanThe -

05/01/2009 16:57:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>

$_POST['login'] bestaat niet.
 
Tedd Master

Tedd Master

05/01/2009 19:28:00
Quote Anchor link
dit werkt nu,
nu wil ik dat ie alle records laat zien van de user die ingelogt is op de directory van de user dus /user

hoe kan ik dit doen
en deze tevens aanpassen indien nodig via de form
waar moet ik dan beginnen,
ben relatief nieuw tot php...
 
Joren de Wit

Joren de Wit

05/01/2009 19:34:00
Quote Anchor link
In $_SESSION['userid'] heb je het id van de ingelogde gebruiker staan. Aan de hand daarvan kun je dus allerlei gegevens uit je database selecteren, door het id op te nemen in de WHERE clausule van je queries.

Hoe de queries er precies uit komen te zien, hangt natuurlijk van je datamodel en hetgeen je wilt selecteren af.

Quote:
ben relatief nieuw tot php...

PHP Beginnershandleiding
SQL Beginnershandleiding

In dat geval komen bovenstaande handleidingen je wellicht nog wel van pas. Mocht je vragen hebben, dan horen we dat wel!
 
Frank -

Frank -

05/01/2009 19:42:00
Quote Anchor link
@Terence: Op regel 9 en 10 van jouw voorbeeld probeer je de boel met mysql_real_escape_string() te beveiligen, maar je hebt helemaal geen connectie met de database! Die maak je pas aan op regel 12 en 13, dat gaat dus fout.

Maak eerst een verbinding en ga daarna pas met mysql_real_escape_string() aan de slag. Anders kan er niks worden geescaped, is dan onmogelijk.

Daarnaast krijg je op regel 17 een foutmelding wanneer de query mislukt, foutafhandeling ontbreekt in zijn geheel. En dat is nu net waar dit topic mee begint, een mislukte query zonder foutafhandeling...
 
Tedd Master

Tedd Master

07/01/2009 21:34:00
Quote Anchor link
als de login succcesvol is wil ik dat hij alle gevens van de user output dus:

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
16
17
18
19
20
21
22
23
24
25
<?php
[code]
    }
else {
            echo "Login success!";
            $_SESSION['userid'] = $result['id'];    
            
                  $qry = mysql_query("SELECT * FROM member where user='$user' and pass='$pass'");
                  
                  $result = mysql_num_rows($qry);
                  
    }
<
/code>
of
<code>
    }
else {
            echo "Login success!";
            $_SESSION['userid'] = $result['id'];    
            
                  $qry = mysql_query("SELECT * FROM member where id='$userid'");
                  
                  $result = mysql_num_rows($qry);
                  
    }
}

?>
Gewijzigd op 01/01/1970 01:00:00 door Tedd Master
 



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.