php fehlermeldung

  • Code
    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\ucp\index.php on line 44


    hallo zusammen


    bin noch recht neu in PHP und habe die oben gesehene Meldung


    was muss ich da machen


    hier mal Zeile 44

    Code
    if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE username = '$username' AND password = '$password'")) == 1)


    LG

  • Das sagt nur aus das der Query fehlschlägt... mach mal

    PHP
    mysql_query(DeinQuery) or die("MySQL Error:". mysql_error());


    Aber bitte. Bitte nicht mit der mysql_* Extension sondern wenn MySQLi

    Mit freundlichen Grüßen
    Developer
    Go/Python Developer | ehm. Webdeveloper | Fachinformatiker Anwendungsentwicklung
    Arbeitet in einem cloudigen Umfeld bei einem der größten deutschen Rechenzentrumsbetreibern

  • Mach mal aus

    PHP
    if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE username = '$username' AND password = '$password'")) == 1)


    ein

    PHP
    if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE username = '".$username."' AND password = '".$password."'")) == 1)





  • Nutz lieber MySQLi oder PDO.
    Hier mal ein Beispiel für PDO

    PHP
    try {
    	$connection = new PDO("mysql:host=localhost;dbname=datenbank", "root", "pw");
    	$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    	$connection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
    	$connection->exec("SET CHARACTER SET utf8");
    } catch (PDOException $ex) {
    	die($ex->getMessage());
    }


    PHP
    $sth = $connection->query("SELECT * FROM `tabelle`");


    PHP
    $bla = "irgendwas";
    $sth = $connection->prepare("SELECT * FROM `tabelle` WHERE `field` = :bla LIMIT 1");
    $sth->execute(array(":bla" => $bla));


    PHP
    $obj = $sth->fetch(PDO::FETCH_OBJ);
    echo $obj->feld;


    Edit