Mysql / Php Error

05/10/2012 09:47 Syuki#1
Guten Morgen Com,

ich habe ein kleines Problem mit meiner Hp,
undzwar kommt dieser Error:
PHP Code:
Warningmysql_num_rows() expects parameter 1 to be resourceboolean given i 
Und hier mal die Zeilenangabe 14, wo der Fehler sein soll:
PHP Code:
if(mysql_num_rows($sqlQry)>0
Bei dem Fehler der oben genannt wurde, kann man sich nicht mehr auf die
Homepage einloggen, was ja sehr wichtig ist für nen P-Server. :awesome:

Hoffe mir kann einer Helfen, Danke.
05/10/2012 11:51 ManicMorti#2
Hey,
so direkt sehe ich da keinen Fehler.
Probiere mal die Zeile so zu schreiben:
PHP Code:
if( mysql_num_rows($sqlQry) >= 
€: Ach ja, "$sqlQry" sollte natürlich das Ergebnis von "mysql_db_query( $database, $query )" oder eines ähnlichen PHP Befehls enthalten.

MM
05/10/2012 12:11 Syuki#3
Quote:
Originally Posted by ManicMorti View Post
Hey,
so direkt sehe ich da keinen Fehler.
Probiere mal die Zeile so zu schreiben:
PHP Code:
if( mysql_num_rows($sqlQry) >= 
€: Ach ja, "$sqlQry" sollte natürlich das Ergebnis von "mysql_db_query( $database, $query )" oder eines ähnlichen PHP Befehls enthalten.

MM
Hat nicht geklappt.
Was meinst du damit:
PHP Code:
"$sqlQrysollte natürlich das Ergebnis von "mysql_db_query( $database$query )" oder eines ähnlichen PHP Befehls enthalten
Hier noch mal dr ganze head_inc
PHP Code:
<?PHP
  
  
if(isset($_POST['submit']) && ($_POST['submit']=="login" || $_POST['submit']=="LOGIN")) 
  {
    if(!empty(
$_POST['userid']) && !empty($_POST['userpass']) && checkAnum($_POST['userid']) && checkAnum($_POST['userpass'])) 
    {
      
$sqlCmd "SELECT id,login,coins,web_admin,email 
      FROM account
      WHERE login 
      LIKE '"
.mysql_real_escape_string($_POST['userid'])."' 
      AND password=PASSWORD('"
.mysql_real_escape_string($_POST['userpass'])."') 
      LIMIT 1"
;
      
$sqlQry mysql_query($sqlCmd,$sqlServ);
      if( 
mysql_num_rows($sqlQry) >= )   
      {
        
$getAdmin mysql_fetch_object($sqlQry);
        
$_SESSION['user_id'] = $getAdmin->id;
        
$_SESSION['user_name'] = $getAdmin->login;
        
$_SESSION['user_admin'] = $getAdmin->web_admin;
        
$_SESSION['user_coins'] = $getAdmin->coins;
        
$_SESSION['user_email'] = $getAdmin->email;
        
$updateIP mysql_query("UPDATE accountSET web_ip='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."' WHERE id='".mysql_real_escape_string($getAdmin->id)."'",$sqlServ);
        
      }
    }
  }

  if(empty(
$_SESSION['user_id'])) 
  {
    unset(
$_SESSION['user_id']);
    unset(
$_SESSION['user_name']);
    unset(
$_SESSION['user_admin']);
    unset(
$_SESSION['user_coins']);
    unset(
$_SESSION['user_email']);
  }
  else {
    
$sqlCmd "SELECT id,login,web_admin,coins,email FROM accountWHERE web_ip='".mysql_real_escape_string($_SERVER['REMOTE_ADDR'])."' AND id='".mysql_real_escape_string($_SESSION['user_id'])."' LIMIT 1";
    
$sqlQry mysql_query($sqlCmd,$sqlServ);
    if(
mysql_num_rows($sqlQry)>0
    {
      
$getAdmin mysql_fetch_object($sqlQry);
      
$_SESSION['user_id'] = $getAdmin->id;
      
$_SESSION['user_name'] = $getAdmin->login;
      
$_SESSION['user_admin'] = $getAdmin->web_admin;
      
$_SESSION['user_coins'] = $getAdmin->coins;
      
$_SESSION['user_email'] = $getAdmin->email;
      
    }
  }
  

?>
05/10/2012 13:01 ManicMorti#4
Hey,
kann es sein das in deiner config.php etwas nicht stimmt?
Soweit ich das sehe wird der query nicht richtig ausgeführt, ich denke das liegt daran das er keine Verbindung zur Datenbank herstellt. Alles andere ist soweit ich das jetzt sehe Fehlerfrei.

"$sqlQry" ist eine PHP Variable und wird in Zeile 13 ja auch auf das Ergebnis von "mysql_query()" gesetzt, stimmt also so.

MM
05/10/2012 13:47 DarkDragoner#5
Der Fehler liegt im Query. Wahrscheinlich Tippfehler oder Account nicht vorhanden. Er schreibt den Fehler doch recht genau es wird statt einer Ressource ein Bool Wert übergeben, also True oder False.

Bei True wäre es ja die Ressource also muss es ein False sein. Daher prüfe mal in Navicat oder einem anderen mySQL Tool die Abfrage mit deinen Angaben:

PHP Code:
SELECT id,login,coins,web_admin,email 
      FROM account
      WHERE login 
      LIKE 
'DEINE USER ID' 
      
AND password=PASSWORD('DEIN PASSWORT'
      
LIMIT 1 
Wenn du hier kein Ergebnis bekommst, dann stimmt etwas mit deinen Daten in der DB nicht (Accountdaten)
05/10/2012 14:27 Syuki#6
Quote:
Originally Posted by DarkDragoner View Post
Der Fehler liegt im Query. Wahrscheinlich Tippfehler oder Account nicht vorhanden. Er schreibt den Fehler doch recht genau es wird statt einer Ressource ein Bool Wert übergeben, also True oder False.

Bei True wäre es ja die Ressource also muss es ein False sein. Daher prüfe mal in Navicat oder einem anderen mySQL Tool die Abfrage mit deinen Angaben:

PHP Code:
SELECT id,login,coins,web_admin,email 
      FROM account
      WHERE login 
      LIKE 
'DEINE USER ID' 
      
AND password=PASSWORD('DEIN PASSWORT'
      
LIMIT 1 
Wenn du hier kein Ergebnis bekommst, dann stimmt etwas mit deinen Daten in der DB nicht (Accountdaten)
Wie und wo kann ich das nachgucken, sorry habe nicht so viel Ahnung von PhP..


Habe es hinbekommen

#clsrqst