Ich habe den folgenden CodeFetch nur ein Feld in PHP und mysqli
if (isset($_POST['change'])) {
$current = mysqli_real_escape_string($con, $_POST['current']);
$password = mysqli_real_escape_string($con, $_POST['password']);
$cpassword = mysqli_real_escape_string($con, $_POST['cpassword']);
if(strlen($password) < 6) {
$error = true;
$password_error = "Password must be minimum of 6 characters";
}
if($password != $cpassword) {
$error = true;
$cpassword_error = "Password and Confirm Password doesn't match";
}
if(mysqli_fetch_field(mysqli_query($con, "SELECT password FROM users WHERE id = '" . $_SESSION['usr_id'] . "' LIMIT 1")) != md5($current)) {
$error = true;
$confirm_error = "Your actual password is not correct";
}
}
Das Problem ist hier:
mysqli_fetch_field(mysqli_query($con, "SELECT password FROM users WHERE id = '" . $_SESSION['usr_id'] . "' LIMIT 1"))
Es gibt mir den Fehler
PHP Catchable fatal error: Object of class stdClass could not be converted to string in /.../password.php on line 27
ich versucht habe, mit
mysql_result(mysqli_query($con, "SELECT password FROM users WHERE id = '" . $_SESSION['usr_id'] . "' LIMIT 1"), 0)
aber es nicht funktioniert, es gibt mir
PHP Fatal error: Uncaught Error: Call to undefined function mysql_result() in /.../password.php:27
Ich will nicht mysqli_fetch_array()
und eine while
Schleife verwenden. Ich habe nach einer Funktion oder etwas Ähnlichem gesucht und ich habe etwas gefunden, aber nichts hat für mich gearbeitet.
'mysqli_real_escape_string ($ con, $ _POST ['password'])' Sie wissen, dass das zu Fehlzündungen steht. –
Es kann nichts mit mysqli_fetch_field zu tun haben. Dump '$ _SESSION ['usr_id']', und trennen Sie Ihre mysqli_query und mysqli_fetch_field Anweisungen. Und natürlich wird mysql_result nicht funktionieren, es ist keine mysqli-Funktion. – aynber
'Ich möchte nicht mysqli_fetch_array() und eine while-Schleife verwenden .... warum? –