[php] Problem

05/11/2014 13:34 Byte.#1
Hallo, habe folgendes Problem beim Einloggen:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /var/customers/webs/ni272979_1/Loader/login.php on line 17

Das ist der Code-Ausschnitt:

PHP Code:
<?php
$filename 
'install.php';
if (
file_exists($filename)) {
echo (
"<center><font color='red'><b>/install.php still exists<br>
After installing please delete install.php</center></font></b>"
);
} else {
    if (isset(
$_POST['Login'])){
    include(
'config.php');
        if (!
mysql_connect($host$username$password)) die("Can't connect to database");
        if (!
mysql_select_db($db_name)) die("Can't select database");
        
$myusername=$_POST['myusername'];
        
$mypassword=$_POST['mypassword'];

        
$sql="SELECT * FROM $tbl_name WHERE username='$myusername' and password='$mypassword'";
        
$result=mysql_query($sql);
        
$count=mysql_num_rows($result);
        if(
$count >= 1){
        
session_register("myusername");
        
session_register("mypassword");
        
header("location: index.php");
        } else {
            
        }
    }
05/11/2014 13:59 tolio#2
$result ist also nen boolean und keine resource, ich vermute das der query entsprechend false zurückgibt weils fehlschlägt und eben keine antwort

auch hier ist wieder debuggen das zauberwort, zwischenwerte zum kontrollieren ausgeben lassen dann findet man die problempunkte schnell selber, ganz zu schweigen davon das in der fehlermeldung ne zeilenangabe steht
05/11/2014 14:33 IchVerabschiedeMich#3
Nur als Tip zu "session_register()"
[Only registered and activated users can see links. Click Here To Register...]
05/11/2014 14:57 Mostey#4
Deine Query schlägt fehl, deshalb ist $result ein boolean und somit auch false.

Die Session solltest du direkt über die Keys füllen ($_SESSION['key'] = value), da wie Padrio schon erwähnt hat, session_register entfernt wurde.

Achja, escapen solltest du deine Eingaben auch noch.