php - 使用 mysqli 调用连接数据库的方法

标签 php mysql mysqli

您好,我正在尝试在我的 PHP 脚本中从 MySQL 迁移到 MySQLi,我有这个系统类,它具有连接到我需要时调用的数据库的功能,使用这样一个简单的方法:

Sys::database_connect();

函数的实际代码是:

function database_connect(){
    require 'conf.php';//configuration file with database variables (sql_)
    mysql_connect($sql_serv, $sql_user, $sql_pw) OR die('ERRO!!! não ligou a base de dados');
    mysql_select_db($sql_bd);
}

调用该函数后,我可以毫无问题地查询数据库。

但是如果我把它放在 sys 类中,我不能对 mysqli 做同样的事情:

function database_connect(){
    require 'conf.php';

    $mysqli = new mysqli($sql_serv, $sql_user, $sql_pw, $sql_bd);
        if (mysqli_connect_errno()) {
        printf("Ligação à Base de dados falhou: %s\n", mysqli_connect_error());
        exit();
    }
}

当我打电话 Sys::database_connect();

它连接到数据库,但我无法查询我是否习惯了我想要的是一个简单的方法,就像我对普通 MySQL 所做的那样,如果有人可以解释我做错了什么或者为什么我不能做就这样……

提前致谢; 费尔南多·安德拉德。

最佳答案

您以后的查询必须使用您在连接到数据库时创建的 mysqli 连接标识符。因此,将其保存到您的系统类的一个属性中,并在以后使用它。

function database_connect(){
    require 'conf.php';

    $mysqli = new mysqli($sql_serv, $sql_user, $sql_pw, $sql_bd);
    if (mysqli_connect_errno()) {
        printf("Ligação à Base de dados falhou: %s\n", mysqli_connect_error());
        exit();
    }

    Sys::$dbConn = $mysqli;
}

后来

function query( $sql ) {
    Sys::$dbConn->query( $sql );
    // error handling etc.
}

关于php - 使用 mysqli 调用连接数据库的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13974835/

相关文章:

php - 无法选择数据库 php pdo mysql 上的第一行

mysql - 使用 NoSQL 添加使用统计信息的有效方法

mysql - 如何在mysql中选择一些行作为列

php - 如何将表单输入中的用户 ID 值与数据库中的记录相匹配?

php - 为什么当我向 mysqli_query 发送多个查询时会出现错误?

php - 从youtube获取视频链接

php - 在 php 中存储一个全局值

javascript - 离线使用谷歌地球(或 map )

MYSQL获取特定月份和年份之前的记录

PHP-如何从数据库中按最高到最低顺序获取前十条记录