gpt4 book ai didi

php - 当我尝试运行时,PDO 类不工作返回空白页?

转载 作者:行者123 更新时间:2023-11-29 04:12:35 24 4
gpt4 key购买 nike

我创建了一个将用户添加到 mysql 数据库的电子邮件类。然后我创建了两个方法,第一个是私有(private)静态的,所以我可以在第二个公共(public)静态方法中访问它,当运行这个类时显示一个空白页面?空白页可能是什么原因?

class Email {
private static function DATABASE() {
$dbh = new PDO("mysql:host=localhost;dbname=emails", 'bjw123nasd4441', 'hj12j2kJKj11s');
return $dbh;
}
public static function addemail($email) {
$sqldata = array('email' => $email);
$stat = Email::DATABASE();
$stat->prepare("INSERT INTO tasklist (email) VALUES (:email)");
$stat->execute($sqldata);
}
}

Email::addemail('foo@bar.com');

我在 PHP 显示错误中遇到了这个错误..

调用未定义的方法 PDO::execute()

最佳答案

你尝试直接调用pdo->execute(),那是行不通的。试试这个:

$stat = self::DATABASE();
$query = $stat->prepare("INSERT INTO tasklist (email) VALUES (:email)");
$query->execute($sqldata);

你也应该只使用一个 pdo 实例:

class Email {

private static $dbh = null;

private static function DATABASE() {
if(is_null(self::$dbh))
self::$dbh = new PDO("mysql:host=localhost;dbname=emails", 'bjw123nasd4441', 'hj12j2kJKj11s');
return self::$dbh;
}

//...

}

关于php - 当我尝试运行时,PDO 类不工作返回空白页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6342946/

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