gpt4 book ai didi

php - 自定义数据库连接在 php 中不起作用

转载 作者:行者123 更新时间:2023-11-29 06:09:53 24 4
gpt4 key购买 nike

我有这个类可以在 php 中建立到 MySQL 数据库的连接。但它似乎有问题,显然我犯了一个错误。

这是类:

class dbConnection {

public $CONN;

public function __construct() {
$dbservername = "localhost";
$dbusername = "test";
$dbpassword = "pass";
$dbname = "dbtest";

// Create connection
$this->CONN = new mysqli($dbservername, $dbusername, $dbpassword, $dbname);

// Check connection
if ($this->CONN->connect_error) {
die("Connection failed: " . $CONN->connect_error);
}
return $this->CONN;
}

public function close() {
$this->CONN->close();
}
}

这是调用类来执行INSERT:

$conn = new dbConnection();
$stmt = $conn->prepare("INSERT INTO tablename (stuff1, stuff2, stuff3) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $val1, $val2, $val3);

// set parameters and execute
$val1 = "val1";
$val2 = "foo";
$val3 = "bar";
$stmt->execute();
$stmt->close();

错误显示是:

Fatal error: Uncaught Error: Call to undefined method dbConnection::prepare() in /var/www/index.php:7 Stack trace: #0 {main} thrown in /var/www/index.php on line 7

如果我在类中设置一个函数并调用它而不是构造函数,这会起作用,但我想用构造函数本身完成它。我如何确定这一点?

最佳答案

您可以为 dbConnection 类创建一个 prepare 方法:

public function prepare($query) {
return $this->CONN->prepare($query);
}

并且您当前的代码可以工作。在我的机器上对其进行了测试,它确实有效。

关于php - 自定义数据库连接在 php 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38941079/

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