gpt4 book ai didi

php - 为什么我的 pdo 变量始终未定义?

转载 作者:行者123 更新时间:2023-11-29 10:27:22 25 4
gpt4 key购买 nike

我有两个 php 文件,一个是用于 PDO 连接的文件,另一个是在此连接上提交准备好的语句的文件:

PDO 连接:

class Connection {

protected $user = "ni873420_2sql1";
protected $pass = "#";
public $pdo_log;

public function __construct() {

try {

$pdo_log = new PDO('mysql:host=localhost;dbname=ni873420_2sql1',
$this->user, $this->pass);

}
catch (Exception $e) {

die($e);

}
}
}

这是我创建准备好的语句的函数:

    public static function getInfobyEmailUsername($argemailusername) {

$get_info_query = "SELECT * FROM user WHERE email = ? OR username = ?";

$conn = new Connection();
$getinfostmt = $conn->pdo_log->prepare($get_info_query);
$getinfostmt->execute(array($argemailusername, $argemailusername));

$userinfo = $getinfostmt->fetch(PDO::FETCH_ASSOC);

if (!empty ($userinfo)) {
return $userinfo;
} else {
return false;
}

}

但我不断收到错误:

Fatal error: Call to a member function prepare() on null

我在任何地方都找不到解决方案,任何人都可以帮助我解决这个问题,或者至少发送一个链接,让我可以找到解决方案吗?

谢谢!

最佳答案

在构造函数中,使用公共(public)变量$pdo_log

  $this->pdo_log = new PDO('mysql:host=localhost;dbname=ni873420_2sql1', 
$this->user, $this->pass);

关于php - 为什么我的 pdo 变量始终未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48051187/

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