gpt4 book ai didi

php - 将连接页面更改为 PDO 并得到 mysql_error()

转载 作者:可可西里 更新时间:2023-11-01 07:37:36 24 4
gpt4 key购买 nike

正在检查我的代码以将我所有的查询转换为准备好的查询 (PDO)。我相应地更改了我的连接页面。当我清理我的函数页面时,我遇到了错误 mysql_error() expects parameter 1 to be resource, integer given which referred to my email function

email_exists($email){
$query1 = mysql_query("SELECT COUNT(user_id) FROM tempusers WHERE
`email` = '$email'") OR die(mysql_error(0));
$email = sanitize($email);

return (mysql_result($query1,0)==1)? true : false;
}

因为它是一个功能页面,这意味着我无法在我的连接页面中调用变量,而且我仍然停留在旧的查询方式中,我很难修复这个查询。对于使此查询正常工作的过程中的任何想法以及任何一般提示,我将不胜感激。

最佳答案

您应该像处理其他任何地方的错误一样处理函数中的错误。

但是,由于这是在函数内部,您需要使连接在函数范围内可用。

有几种方法可以做到这一点,一些例子(从不太好到更好......):

  1. 在您的函数中声明您的 PDO 连接变量为全局变量。我不建议将此作为最终解决方案,但它会在您改进的同时发挥作用;
  2. 将 PDO 连接作为附加参数添加到您的函数中。虽然比 1. 好,但您需要更改所有函数调用以包含新参数;
  3. 重构为 OOP 并使用依赖注入(inject)将您的 PDO 连接添加到您的电子邮件类/对象。

关于php - 将连接页面更改为 PDO 并得到 mysql_error(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13215466/

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