Ich habe ein kleines Problem mit meiner PHP-Seite, die ich einfach nicht verstehe. Ich bin neu darin und ich verstehe meine Frage nicht wirklich. Wenn ich versuche, mein Programm auszuführen, erscheinen Fehler wie diesesqlsrv_has_rows() Fehler PHP mit MSSQL
Warnung: sqlsrv_has_rows() erwartet Parameter 1 Ressource zu sein, boolean
gegeben
meinen Code Dies wird:
<?php
session_start();
try{
include 'connection.php';
$username = $_POST['user'];
$password = $_POST['pass'];
//check if login form is filled
if(empty($_POST['user']) || empty($_POST['pass'])){
echo '<script type="text/javascript">alert("Connection established."); </script>';
}
//search for user and password in the database
$query = "SELECT * FROM [Emkaandb].[dbo].[tbl_clientslogin] WHERE email='{$username}' AND .password='{$password}' AND active='1'";
$result = sqlsrv_query($conn, $query);
if($result == true){
die(print_r(sqlsrv_errors(),true));
}
if(sqlsrv_has_rows($result) !=1){
echo '<script type="text/javascript">alert("Invalid email or password."); </script>';
}else{
while($row = sqlsrv_fetch_array($result)){
$_SESSION['name'] = $row['name'];
}
header("location: Profile.php");
}
}catch (PDOException $e)
{
echo "Error!: " . $e->getMessage() . "
";
die();
}
?>
nur für den Fall, dass Sie nicht wussten. sqlsrv-Funktionen haben nichts mit PDO-Funktionen zu tun. und daher ist es sehr wenig sinnvoll, PDOExceptions in diesem Code zu erfassen. –
In der Tat müssen Sie explizit nach Fehlermeldungen fragen: [sqlsrv_errors()] (http://php.net/sqlsrv_errors). Sobald Sie das tun, werden Sie feststellen, dass Ihr SQL-Code zu Beginn ungültig ist. –
Übrigens scheint Ihr Code universelle Anmeldung mit dem magischen Passwort ''ODER 1 = 1 -' –