2017-01-22 3 views
0

Im total von diesem Fehler confised:mysql num Zeilen Hilfe Ausgabe

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\le\login.php on line 10

Kann jemand mir helfen? Ich bin neu in PHP

Code:

<?php 
$username = $_POST['username']; 
$password = $_POST['password']; 

if ($username&&$password) 
{ 
$connect = mysql_connect("localhost", "root", "") or die("Could'nt Connect"); 
$query = mysql_query("SELECT * FROM users WHERE username='$username'"); 
mysql_select_db("shit") or die("cant find db"); 
$numrows = mysql_num_rows($query); 
echo $numrows; 
} else 
    die("please enter username and a password"); 

?> 
+1

Cool, fragen Sie Datenbank, bevor es ausgewählt wird. –

+0

@u_mulder Bild von phpmyadmin? –

+0

Verschieben Sie mysql_select_db vor der $ query. Sie sind auch offen für SQL-Injektionen. – chris85

Antwort

0

Ich schlage vor, Sie verwenden mysqli mit db zu interagieren. mysql_query ist veraltet. Siehe Dokumentation hier: http://php.net/manual/en/function.mysql-query.php

mit DB Um eine Verbindung in mysqli Sie tun können:

$DBhost = "localhost"; 
$DBuser = "your-user"; 
$DBpass = "your-password"; 
$DBName = "your-db-name"; 

// Create connection 
$mysqli = new mysqli($DBhost, $DBuser, $DBpass, $DBName); 

// Check connection 
if ($mysqli->connect_error) { 
    die("Connection failed: " . $mysqli->connect_error); 
} 
+1

Ja gut, aber ohne Konvertierung aller OP-Code ist das eher nutzlos – RiggsFolly

+0

Jemand hat bereits die Fragen in den Kommentaren beantwortet. Ich habe nur auf einen anderen Weg hingewiesen, die gleichen Dinge in Best Practices zu tun. Ich hätte einen Kommentar hinterlassen, aber ich konnte nicht, weil ich kürzlich Stapelüberlauf abonniert habe. – al27091