我正在尝试在函数内部使用db连接参数,我试图将其全局化,但它不起作用。
$host = 'localhost';
$username = 'b**s';
$password = '1******m';
$dbname = 'b*********e';
$connection = new mysqli($host, $username, $password, $dbname);
if ($connection->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
当我执行查询时它返回错误,因为我没有在函数内传递$connection
参数。
function insertData(){
{......}
if($connection->query($sql)){
$response['success'] = 'User record successfully added!';
}
}
任何人都可以指导我最好使用什么而不传递函数内部参数。如果有人指导我,我很感激。
答案 0 :(得分:1)
在你的功能中,你应该做一些像
这样的事情global $connection;
然后在下面使用
if($connection->query($sql)){
$response['success'] = 'User record successfully added!';
}
这在手册中有详细记载,我建议你去看看。
答案 1 :(得分:1)
创建数据库类并按对象访问
<?php
class Database {
private static $db;
private $connection;
private function __construct() {
$this->connection = new MySQLi(/* credentials */);
}
function __destruct() {
$this->connection->close();
}
public static function getConnection() {
if (self::$db == null) {
self::$db = new Database();
}
return self::$db->connection;
}
}
?>
然后在我需要的地方使用$db = Database::getConnection();
。