gpt4 book ai didi

php - 获取类中函数的返回值

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

我正在尝试为一个名为 KobbyCloud 的项目创建一个类,它将帮助我更轻松地选择用户数据。所以我所做的就是在类中创建一个函数,在此示例中它基本上使用 PDO 进行连接:

class KobbyCloud {
function connect($username, $password) {
return new PDO("mysql: host=localhost; dbname=kobbycloud; charset=utf8", $username, $password);
}
}

基本上,连接所需要做的就是:

$kobbycloud = new KobbyCloud();
$kccn = $kobbycloud->("mysql-user", "mysql-pass");

这工作得很好,事实上我什至可以在它上面使用普通的 PDO 属性。就像 prepare... 如果我要做 $get_user = $kccn->prepare("...SQL..."); 它会工作得很好!

<小时/>

但是当我尝试在类中创建一个函数来获取用户数据时,问题仍然存在。我不知道在执行 SQL 时使用什么选择器。

class KobbyCloud {
function connect($username, $password) {
return new PDO("mysql: host=localhost; dbname=kobbycloud; charset=utf8", $username, $password);
}

function user_data($sel) {
$get_user = ?????->prepare("SELECT * FROM `users` WHERE `uid`=1");
$get_user->execute();
return $get_user->fetch(PDO::FETCH_ASSOC);
}
}

你可以看到我把 ?????? 放在哪里,这是我遇到麻烦的地方......所以我认为解决方案是从 函数获取返回值connect(...) 但我不知道如何去做。

<小时/>

我对 PHP 类还很陌生,所以感谢我得到的有关它们的任何提示或说明。

最佳答案

将连接存储在您的类中

class KobbyCloud {

private $connection;

function connect($username, $password) {
if ($this->connection === null) {
$this->connection = new PDO("mysql: host=localhost; dbname=kobbycloud; charset=utf8", $username, $password);
}
return $this->connection;
}

function user_data($sel) {
$get_user = $this->connection->prepare("SELECT * FROM `users` WHERE `uid`=1");
$get_user->execute();
return $get_user->fetch(PDO::FETCH_ASSOC);
}
}

关于php - 获取类中函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24542177/

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