Hallo,
ich bin daran, die scripts von mysql auf mysqli umzuschreiben. Seither funtkioniert das login nicht mehr.
Hier der Code:
<?php
session_start();
include("./include/config.php");
include("./include/db_connect.php");
include("functions.php");
...
$sql = "SELECT kundenID FROM kunden WHERE username = '".$_POST['myusername']."' AND password = '".md5($_POST['mypassword'])."' ";
$result = mysqli_query($connect, $sql) OR die("<pre>\n".$sql."</pre>\n".mysqli_connect_error());
// wird die kundenID des Users geholt und der User damit eingeloggt
$row = mysqli_fetch_assoc($result);
// Prüft, ob wirklich genau ein Datensatz gefunden wurde
if (mysqli_num_rows($result)==1){
doLogin($row['kundenID'], isset($_POST['Autologin']));
header("location:cart.php?action=add&artikelID=".$_GET['artikelID']."&id=". $_SESSION['UserID'] ." ");
}
else {
header("location:k_login.php?error=TRUE ");
}
include("./include/db_close.php");
?>
Line 13 der Warnmeldung bezieht sich auf $result = mysqli_query($connect... etc.
mysqli_connect_error() bringt die richtige SQL-Abfrage in richtiger Syntax und mit richtigem Resultat (die gewünschte 'kundenID').
Wenn ich die sql-Abfrage-Parameter $_POST['myusername'] und $_POST['mypassword'] mit mysqli_real_escape_string($connect, $_POST['myusername']) schütze, gibt es zwei zusätzliche Warnmeldungen: Warning: mysqli_real_escape_string(): Couldn't fetch mysqli in C:...
Ich habe in 'db_connect.php' statt $connect auch $_SESSION['connect'] probiert. Nützt auch nichts.
Kann mir jemand helfen?