![](/img/trans.png)
[英]php: how to get username or email from sql using prepared statements
[英]Why can't I get data from SQL row using PHP prepared statements?
连接良好。 我可以插入数据库,并通过检查结果是否 > 0 来检查行是否存在,但我不能 select 行数据。 正在测试的 $email 在数据库中。 例如 1。
require 'connection/connection.php';
$email = "sample@sample.com";
$sql = "SELECT * FROM users WHERE user_email=?"; // SQL with parameters
$stmt = $conn->prepare($sql);
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result(); // get the mysqli result
$user = $result->fetch_assoc(); // fetch data
echo $user['user_name'];
前任。 2个
$email = "james@james.com";
$sql = "SELECT * FROM users WHERE user_email=?";
$stmt = mysqli_stmt_init($conn);
mysqli_stmt_bind_param($stmt, "s", $email);
mysqli_stmt_execute($stmt);
在每一行之后插入回声后,就到此为止了。 如果 echo 语句放在下一行之后,它将不会出现。
$result = mysqli_stmt_get_result($stmt);
if ($row = mysqli_fetch_assoc($result)) {
$_SESSION['active_user_id'] = $row['user_id'];
} else {
header("Location: https://example.com/");
exit();
}
该问题已通过 cPanel 修复。 我不得不从“mysqli”切换到“nd_mysqli”。 这立即解决了问题。
我在这里找到了执行此操作的说明https://www.plus.net.com/php_tutorial/mysqli_mysqlnd.php
我希望这可以帮助其他人解决同样的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.