PHP编写的语句不´;不能在Web服务器上工作
您好,我的网站上的以下代码有问题:PHP编写的语句不´;不能在Web服务器上工作,php,mysql,prepared-statement,Php,Mysql,Prepared Statement,您好,我的网站上的以下代码有问题: <?php session_start(); include '../databaseConnector.php'; $uid = mysqli_real_escape_string($connector, $_POST['uid']); $pwd = mysqli_real_escape_string($connector, $_POST['pwd']); $stmt = $connector->prepare("SELECT * FROM
<?php
session_start();
include '../databaseConnector.php';
$uid = mysqli_real_escape_string($connector, $_POST['uid']);
$pwd = mysqli_real_escape_string($connector, $_POST['pwd']);
$stmt = $connector->prepare("SELECT * FROM nutzer WHERE uid=?");
$stmt->bind_param("s", $username);
$username = $uid;
$stmt->execute();
$result = $stmt->get_result();
$row = mysqli_fetch_assoc($result);
$hash_pw = $row['pwd'];
$dehash = password_verify($pwd, $hash_pw);
if($dehash == 0)
{
header("Location: ../loginscreen.php?error=pwwrong");
exit();
}else{
$stmt2 = $connector->prepare("SELECT * FROM nutzer WHERE uid=? AND pwd=?");
$stmt2->bind_param("ss", $username2, $password2);
$username2 = $uid;
$password2 = $hash_pw;
$stmt2->execute();
$result = $stmt2->get_result();
$stmt->close();
if(!$row =$result->fetch_assoc())
{
echo "Your username or password is incorrect!";
} else{
$_SESSION['id'] = $row['id'];
$_SESSION['uid'] = $row['uid'];
$_SESSION['email'] = $row['email'];
$_SESSION['first'] = $row['first'];
$_SESSION['last'] = $row['last'];
}
header("Location: ../loginscreen.php"); // go to page after signing in
}
仅适用于将来看到这一点的任何人。我发现我的hoster不支持get_result()函数所需的MYSQLnd。我只是用fetch()和bind_result()编写了不同的代码。网络上有许多解决方案示例。如果有一个空白屏幕,可能会抛出500个错误。检查您的错误日志,看看是否有可能发生的事情的提示。这是否意味着我的结果函数是错误的?可能与我得到的错误重复:PHP致命错误:调用include/login.inc.PHP第34行的未定义方法mysqli_stmt::get_result(),referer:我将尝试使用它,谢谢您的帮助!