我遇到了问题。这是我的PHP脚本,当我运行此代码时,它给了我这个错误,
致命错误:在第30行的C:\ xampp \ htdocs \ osadnicy \ zaloguj.php中调用boolean上的成员函数bind_param()。
我该如何解决?请帮忙。
<?php
session_start();
if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
{
header('Location: index.php');
exit();
}
require_once "connect.php";
$polaczenie = @new mysqli($host, $db_user, $db_password, $db_name);
if ($polaczenie->connect_errno!=0)
{
echo "Error: ".$polaczenie->connect_errno;
}
else
{
$login = $_POST['login'];
$haslo = $_POST['haslo'];
$login = htmlentities($login, ENT_QUOTES, "UTF-8");
$zapytanie = $polaczenie->prepare("SELECT * FROM uzytkownicy WHERE user = ? AND haslo = ?");
$zapytanie->bind_param('ss', $login, $haslo);
if ($rezultat = $zapytanie->execute())
{
$ilu_userow = $rezultat->num_rows;
if($ilu_userow>0)
{
$wiersz = $rezultat->fetch_assoc();
if (password_verify)
{
$_SESSION['zalogowany'] = true;
$_SESSION['id'] = $wiersz['id'];
$_SESSION['user'] = $wiersz['user'];
$_SESSION['drewno'] = $wiersz['drewno'];
$_SESSION['kamien'] = $wiersz['kamien'];
$_SESSION['zboze'] = $wiersz['zboze'];
$_SESSION['email'] = $wiersz['email'];
$_SESSION['dnipremium'] = $wiersz['dnipremium'];
unset($_SESSION['blad']);
$rezultat->free_result();
header('Location: gra.php');
}
else
{
$_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
header('Location: index.php');
}
} else {
$_SESSION['blad'] = '<span style="color:red">Nieprawidłowy login lub hasło!</span>';
header('Location: index.php');
}
}
$polaczenie->close();
}
?>
答案 0 :(得分:0)
在代码段中更正以下部分。
<?php
/* Create a prepared statement */
$zapytanie = $polaczenie->stmt_init();
if ($zapytanie->prepare("SELECT * FROM uzytkownicy WHERE user = ? AND haslo = ?"))
{
$zapytanie->bind_param('ss', $login, $haslo);
if ($rezultat = $zapytanie->execute())
{
// Your Code
}
}