[PHP] not a valid MySQL result resource

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik krijg nu een foutmelden, maar kom er niet achter wat het is.

De volgende melding krijg ik:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/brammetj/public_html/aanmelden.php on line 62

Wat kan ik hier aan doen?

P.S. Volledige script is te groot om hier neer te zetten, ...

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 12:52
Wanneer krijg je die foutmelding?

Zet ook niet het volledige script hier neer, maar enkel de paar lijnen relevante code.

Zie ook de P&W Quickstart.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als ik op de knop aanmelden druk krijg ik deze melding.

<?
}
else{
$query = mysql_query("SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam'");
$result = mysql_num_rows($query);

if($result){
?>

Acties:
  • 0 Henk 'm!

Verwijderd

gooi dit er eens onder
echo mysql_errno() . ": " . mysql_error() . "\n";

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dan krijg ik deze melding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/brammetj/public_html/aanmelden.php on line 62
1046: No Database Selected

Acties:
  • 0 Henk 'm!

  • JJapie
  • Registratie: Juli 2001
  • Laatst online: 13:45
Maak je wel een verbinding met je DB? Heb je aangegeven met welke DB je een verbinding wil leggen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
staat toch in mijn connect.php???

Acties:
  • 0 Henk 'm!

  • JJapie
  • Registratie: Juli 2001
  • Laatst online: 13:45
Als jij het erin hebt gezet wel ja :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
$host = "localhost";
$user = "brammetj";
$pass = "xxxxxxx";
$db = "brammetjuh";

mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());

[ Voor 17% gewijzigd door Verwijderd op 25-04-2003 11:18 ]


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
/* de database connection, host, inlog naam, password || de or die is voor een mislukte verbinding */
$db = mysql_connect("localhost", "shedfire" ,"*****") or die ("Verbinding mislukt");
/*Select een bepaalde database */
mysql_select_db("klachtDB", $db);


edit: of te wel je moet de mysql_connect wel aan een variable mee geven en daarna de aparte database mee geven.

(voor het geval dat je er meerdere hebt staan op een mySQL server op 1 poort

[ Voor 44% gewijzigd door Verwijderd op 25-04-2003 11:22 ]


Acties:
  • 0 Henk 'm!

  • JJapie
  • Registratie: Juli 2001
  • Laatst online: 13:45
Wat als je er dit van maakt?

PHP:
1
2
$database_server = mysql_connect($host, $user, $pass); 
    mysql_select_db($db, $database_server);

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoe geef ik de naam van mijn database dan op?

Acties:
  • 0 Henk 'm!

  • TUX2K
  • Registratie: September 2001
  • Laatst online: 17-09 12:46
Het lijkt me meer dat je Query die je runt geen rows terug geeft.

Acties:
  • 0 Henk 'm!

  • JJapie
  • Registratie: Juli 2001
  • Laatst online: 13:45
PHP:
1
$db = "naam"; //naam van de DB

Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
Waar komt die $gebruikersnaam vandaan? Toch niet toevallig uit een formulier???
dan is je query niet geldig! Je moet dan $_POST['gebruikersnaam'] gebruiken

doe eens dit:
PHP:
1
2
3
$query ="SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam'"
echo "de query: ".$query;
$rs=mysql_query($query) or die(mysql_error());



wat komt hier uit??

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 25 April 2003 @ 11:22:
Hoe geef ik de naam van mijn database dan op?
PHP:
1
2
3
4
5
6
7
8
9
$host = "localhost";
$user = "brammetj";
$pass = "xxxxxxx";
$databasename = "brammetjuh";

/* de database connection, host, inlog naam, password || de or die is voor een mislukte verbinding */
$db = mysql_connect("localhost", "shedfire" ,"password") or die ("Verbinding mislukt");
/*Select een bepaalde database */
mysql_select_db($databasename, $db);


edit: @ mensen die nog met zijn query bezig zijn: zijn connectie is al niet goed, latne we daar meem beginnen

[ Voor 19% gewijzigd door Verwijderd op 25-04-2003 11:24 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb nu weer de melding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/brammetj/public_html/aanmelden.php on line 62
1046: No Database Selected

connect.php:

$db = mysql_connect("localhost", "brammetj" ,"xxxxxx") or die ("Verbinding mislukt");
/*Select een bepaalde database */
mysql_select_db("brammetjuh", $db);

Acties:
  • 0 Henk 'm!

  • Entity
  • Registratie: Oktober 2000
  • Laatst online: 12:39

Entity

9000rpm

Verander de mysql_select_db query eens in dit:
PHP:
1
mysql_select_db("brammetjuh", $db) or die (mysql_error());

Acties:
  • 0 Henk 'm!

  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 09-09 15:24
probeer het eens met mysql_pconnect. (let op de 'p' !)

Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
Verwijderd schreef op 25 april 2003 @ 11:23:
[...]


PHP:
1
2
3
4
5
6
7
8
9
$host = "localhost";
$user = "brammetj";
$pass = "xxxxxxx";
$databasename = "brammetjuh";

/* de database connection, host, inlog naam, password || de or die is voor een mislukte verbinding */
$db = mysql_connect("localhost", "shedfire" ,"password") or die ("Verbinding mislukt");
/*Select een bepaalde database */
mysql_select_db($databasename, $db);


edit: @ mensen die nog met zijn query bezig zijn: zijn connectie is al niet goed, latne we daar meem beginnen
... waar maak jij uit op dat die connectie niet klopt? :?

Als die niet zou werken zou de foutmelding volgens mij al bij 'mysql_query' zijn, en NIET zoals de TS zegt bij mysql_num_rows. De verbinding is dus goed, de query echter niet.

de enige manier om hier goed antwoord op te geven is als de TS even post wat de uitkomst is van mysql_error(); zoals al een paar keer eerder is gezegd.

Waarschijnlijk zit het gewoon in die query...

probeer dit eens:
PHP:
1
2
3
4
5
6
$query = "SELECT * FROM members WHERE gebruikersnaam = '$gebruikersnaam'";
echo "query: ".$query;
$result = mysql_query($query);
echo "mysql_query: ".mysql_error()."<br>\n";
$rows = mysql_num_rows($result);
echo "mysql_num_rows: ".mysql_error()."<br>\n";

(zoals al eerder voorgesteld :))

Als het goed is moet hier iets uitkomen als:
code:
1
2
3
query: SELECT * FROM members WHERE gebruikersnaam='<een waarde>'
mysql_query: <een foutmelding>
mysql_num_rows: supplied argument ... blabla :)


Dus Mr.D-Day, post even wat eruitkomt dan kunnen we daar weer mee verder :)

Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
Verwijderd schreef op 25 April 2003 @ 11:29:
Heb nu weer de melding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/brammetj/public_html/aanmelden.php on line 62
1046: No Database Selected

connect.php:

$db = mysql_connect("localhost", "brammetj" ,"xxxxxx") or die ("Verbinding mislukt");
/*Select een bepaalde database */
mysql_select_db("brammetjuh", $db);
toch een connectie probleem... :D

probeer eens een mysql_error(); na mysql_select_db te doen?

edit:
Heb je eigenlijk connect.php wel ge-include, en doe je dat VOOR deze code ?... (in je post staat het omgekeerd :))

[ Voor 16% gewijzigd door BRAINLESS01 op 25-04-2003 11:40 ]


Acties:
  • 0 Henk 'm!

  • Stubby
  • Registratie: Januari 2002
  • Laatst online: 13:01
Het lijkt mij erop dat je een verkeerde query opstuurt. Kijk eens naar je tables en vervolgens naar je query, ik heb het idee dat er daar het een en ander fout gaat. Echo-en van je query kan nooit kwaad, zodat je weet wat je opstuurt

Zie net dat het aan je connectie ligt... LAMA

[ Voor 10% gewijzigd door Stubby op 25-04-2003 11:42 . Reden: Te weinig F5 gebruikt... ]


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

Verwijderd

Dit kreeg hij er uit. Staat in zijn post :D

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/brammetj/public_html/aanmelden.php on line 62
1046: No Database Selected

Zo kwam ik er + ik zag het aan zijn connect code.

Acties:
  • 0 Henk 'm!

  • BRAINLESS01
  • Registratie: April 2003
  • Laatst online: 12-09 09:30
Verwijderd schreef op 25 April 2003 @ 11:49:
Dit kreeg hij er uit. Staat in zijn post :D

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/brammetj/public_html/aanmelden.php on line 62
1046: No Database Selected

Zo kwam ik er + ik zag het aan zijn connect code.
minder... hij verstopt het... ;)

met zijn connect code was niks mis (zonder resource ID), dat doe ik ook meestal.

php zoekt zelf de resource ID erbij als je hem niet opgeeft.

Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Dat doet PHP niet. Die pakt de LAATSTE die is aangemaakt.

Daarnaast is dit duidelijk een database select fout. Fix dat en dan kunnen we fijn naar de query kijken.

Dingen als mysql_pconnect, gebruik '$_POST[.....]' is totaal niet relevant. Er is nix mis met de connectie en al zou dat zo zijn fixed pconnect nix, daarnaast kan de poster een oude versie van php gebruiken waar register_globals gewoon nog aanstaat dus het gemiep over $_POST is ook niet echt van toepassing.

Ik zie ook nog dat een query die geen rows teruggeeft een non-valid mysql result zou zijn ... volgens mij klopt dit niet (kan dit fout hebben .. al tijden niet gecode :P) maar dat is te controleren met een num_rows.

Al met al, check je database, check of er een table in staat die jij wilt 'aanspreken'. Controleer zelf gewoon eens wat je hebt gedaan (zie FAQ over debugging etc), dan was je startpost hier hoogstwaarschijnlijk niet nodig geweest :P
Pagina: 1