MySQL Problem

N!tro*
Hallo,

Ich habe hier ein Script.

Dort gibt es ein kleines Problem bei der Registrierung.

Und zwar nach Absenden des Formulars erhalte ich folgende Fehlermeldung

code:
1:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/XXXXX/html/anmeldung.php on line 48


In der besagten Zeile

code:
1:
2:
$update="<br><br>Benutzername und Refname dürfen nicht gleich sein.<br>";
}elseif(mysql_num_rows($userab)>0){


Kann es sein das es nicht mit MySQL 5 Kompatibel ist ?

Bin nicht gerade der MySQL Profi..Deswegen frage ich Augenzwinkern
Dizzy.w3
Hi,

mach mal ein mysql_error() rein.

Wenn es sich beim Script lohnt würde ich auf mysqli umsteigen.

Infos zu mysql_error(): http://at2.php.net/manual/de/function.mysql-error.php

Gruß
Dizzy
xundy
wenn mn Hilfe will sollte man auch das komplette Script posten mit 2 Zeilen Code kann doch kein Mensch was sagen ausser das $userab wohl keine gültige mysql-Resource ist


mfg
N!tro*
hier ist die ganze datei
[kamui]
Wie Dizzy schon gesagt hat: bei Queries solltest du immer ein mysql_error(); einbauen. Anstatt:
php:
1:
$userab=mysql_query("select * from mt_userab where user='$user'");

Folgendes:
php:
1:
$userab=mysql_query("select * from mt_userab where user='$user'") or die(mysql_error());


PS: mit user='$user' ist es recht unsicher, du solltest hier entweder mysql_real_escape_string() oder addslashes() einbauem
N!tro*
Alles klar danke.


Eine Tabelle wurde nicht richtig angelegt.

Das mit mysql_real_escape_string() oder addslashes() werde ich noch machen.
[kamui]
Okay, weil mit deinem aktuellen Script. lädts du Hacker/Cracker ein SQL-Injections anzuwenden Augenzwinkern
N!tro*
Hier bin ich wieder großes Grinsen

Folgendes Problem

Fehlermeldung:

code:
1:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource


Zeile mit der Abfrage:

code:
1:
list($user,$status,$euro)=mysql_fetch_row($query_select_euro);


Der MySQL Error is schon mit eingebaut..Ausgabe ist die Fehlermeldung oben..

Hier noch die Zeile +/- 5

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
$db = mysql_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysql_select_db($dbname,$db) or die(mysql_error());

$select_euro = 'SELECT user,status,euro FROM mt_user WHERE session="'.$sessionid.'"';
$query_select_euro = mysql_query($select_euro);
list($user,$status,$euro)=mysql_fetch_row($query_select_euro);

if($status == ''){ $grenze = 50.00; }
if($status == 'silber'){ $grenze = 30.00; }
if($status == 'gold'){ $grenze = 20.00; }


Die Tabellen sind alle vorhanden.
xundy
Du solltest erstmal prüfen ob dein Query überhaupt ein Ergebnis zurückgibt!

Wird es sicher nicht, du solltest TAbllen und Feldnamen immer in backticks setzen, status ist ein reservietest Wort für mysql Augenzwinkern

mfg