gpt4 book ai didi

php 不从数据库获取图像位置

转载 作者:行者123 更新时间:2023-11-30 00:43:56 26 4
gpt4 key购买 nike

在更改 php 函数/方法中即将弃用的一些方法的过程中,遇到了一些麻烦。

当我使用 mysql_query 时,这段代码有效

function user_id_from_email($email)
{
$email = sanitize($email);
return mysql_result(mysql_query("SELECT `user_id` FROM `users` WHERE `email` = '$email'"), 0, 'user_id');
}

function login($email, $passwd)
{
$user_id = user_id_from_email($email);

$email = sanitize($email);
$passwd = sha1($passwd);

return (mysql_result(mysql_query("SELECT COUNT(`user_id`) FROM `users` WHERE `email` = '$email' AND `passwd` = '$passwd'"), 0) == 1) ? $user_id : false;

}

这是重写的代码

function user_id_from_email($email)
{
$email = sanitize($email);
$db = new mysqli('127.0.0.1','admin','sompass','login');
if($db->connect_errno){
$connect_error = 'Sorry, we are experiencing connection problems.';
die ($connect_error);
}
$query = "SELECT `user_id` FROM `users` WHERE `email` = '$email'";
if($result = mysqli_query($db, $query)){
while ($email = mysqli_fetch_array($result)){
return $email;
}
}
}

function login($email, $passwd)
{
$user_id = user_id_from_email($email);

$email = sanitize($email);
$passwd = sha1($passwd);

$db = new mysqli('127.0.0.1','admin','sompass','login');
if($db->connect_errno){
$connect_error = 'Sorry, we are experiencing connection problems.';
die ($connect_error);
}
$query = "SELECT `user_id` FROM `users` WHERE `email` = '$email' AND `passwd` = '$passwd'";
if($result = mysqli_query($db, $query)){
while ($data = mysqli_fetch_array($email, $passwd)){
return $data;
}
}
}

很明显,我在正确转换查询时遇到了麻烦,并且在返回结果时无法找到维护方法的 user_id 属性的正确语法。另外请让我预先警告,当你分析代码时我会显得缺乏经验,因为我:)。请注意。使用修改后的方法,我没有收到任何错误消息,并且有 ---ini_set('display_errors', 'On'); error_reporting(E_ALL);--- 在我的初始化文件的顶部。我遇到的问题是图像现在无法上传或其路径不再正确定向到其位置。先感谢您。

我使用的引用文献http://us2.php.net/manual/en/mysqli-result.fetch-assoc.php

最佳答案

问题就在这里

 while ($data = mysqli_fetch_array($email, $passwd)){
return $data;
}

您需要将 $result 传递给 mysqli_fetch_array - 您应该会收到错误。另外,我建议您习惯使用面向对象的样式调用,并删除 while 循环。就像...

$query = "SELECT `user_id` 
FROM `users`
WHERE `email` = '$email' AND `passwd` = '$passwd'";
$result = $db->query($query);
return $result->num_rows > 0 ? $user_id : false;

关于php 不从数据库获取图像位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21547253/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com