gpt4 book ai didi

php - 返回 PDO 数据

转载 作者:行者123 更新时间:2023-11-29 04:23:39 27 4
gpt4 key购买 nike

大家好,我有一个使用 mysql_* 构建的程序,出于安全和折旧的原因,我正在尝试将其转换为 PDO

所以我有一大堆 mysql_* 函数设置如下

return select_from_where('users', '*', "username = '$username' AND password = '$pass'", "LIMIT 1");

我已将其转换为 PDO

return $conn -> query("SELECT * FROM users WHERE username = '$username' AND password = '$pass' LIMIT 1");

但是程序没有提供正确的结果,我不确定它是否返回数据

我的问题是,我是否必须将 PDO 响应设置为我可以使用的变量,或者是否可以让它返回值,我可以使用与上述类似的方法在我的程序中使用?

我已经为每个函数查询包含了全局 $conn,所以我确定它正在按应有的方式连接,只是没有按预期提供结果..

有没有人能快速解决这个问题,因为我的程序快完成了,正在等待发布:D

提前致谢

卢克

** 编辑行 强>*

$sql = ("SELECT * FROM users WHERE username = '$username' AND password = '$pass' LIMIT   1");
$stm = $conn->prepare($sql);
$stm->execute(array($username,$pass)); $user = $stm->fetch(); echo $user['username'];

最佳答案

首先,我个人认为使用select_from_where

这样的函数没有意义

您实际上没有为自己节省任何东西 - 您只是将查询中的单词“SELECT、FROM 和 WHERE”移动到函数名称,但使这个函数极其有限 - 比如,没有连接或其他东西。

其次,无论如何都不应该使用 PDO::query() 函数 - 它不支持准备好的语句。

所以,代码必须是

global $conn;
$sql = "SELECT * FROM users WHERE username = ? AND password = ? LIMIT 1";
$stm = $conn->prepare($sql);
$stm->execute(array($username,$pass));
return $stm->fetch();

你还必须 configure your PHP and PDO in order to be able to see every error occurred.

关于php - 返回 PDO 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16545042/

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