Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL数据库连接类,函数不返回任何结果_Php_Mysql_Database_Class_Mysqli - Fatal编程技术网

Php MySQL数据库连接类,函数不返回任何结果

Php MySQL数据库连接类,函数不返回任何结果,php,mysql,database,class,mysqli,Php,Mysql,Database,Class,Mysqli,我目前正在做一个小项目,看在上帝的份上,我无法让这个PHP类正常工作 问题是,doQuery在这里键入和插入命令或任何其他命令时不返回任何内容,也不修改数据库,即使从类中调用,也始终返回false class CONN { private $connection; public function __construct() { $this->connection = new mysqli($address, $user, $pass, $db);

我目前正在做一个小项目,看在上帝的份上,我无法让这个PHP类正常工作

问题是,
doQuery
在这里键入和插入命令或任何其他命令时不返回任何内容,也不修改数据库,即使从类中调用,也始终返回false

class CONN {

    private $connection;

    public function __construct() {

        $this->connection = new mysqli($address, $user, $pass, $db);
        if ($this->connection->connect_error) {

            // Throw error here
        } else {
            $this->doQuery("SET NAMES 'utf8'");
        }
    }

    public function doQuery($query){

        return $this->connection->query($this->connection->real_escape_string($query));
    }
}

已解决

真正的_escape_字符串甚至转义了
,因此查询无法工作。

我认为您的代码永远不会这样工作,我看到的主要问题是以下代码:

$this->connection = new mysqli($address, $user, $pass, $db);

$adress、$user、$pass、$db从哪里来?可能您错过了构造函数参数。

我认为您的代码永远不会这样工作,我看到的主要问题是以下代码:

$this->connection = new mysqli($address, $user, $pass, $db);

$adress、$user、$pass、$db从哪里来?可能您错过了构造函数参数。

我认为您的代码永远不会这样工作,我看到的主要问题是以下代码:

$this->connection = new mysqli($address, $user, $pass, $db);

$adress、$user、$pass、$db从哪里来?可能您错过了构造函数参数。

我认为您的代码永远不会这样工作,我看到的主要问题是以下代码:

$this->connection = new mysqli($address, $user, $pass, $db);

$adress、$user、$pass、$db从哪里来?可能您错过了构造函数参数。

您需要创建/提供其他类参数。创建对象时,类构造函数需要这些值来建立连接。因此:

class Con
{
    private $address;
    private $username;
    private $password;
    private $database;
    public function __construct($address, $username, $password,$database)
    {
        $this->address = $address;
        $this->username = $username;
        $this->password = $password;
        $this->database = $database;
    }
    public function connect()
    {
        $con = mysqli_connect($this->address, $this->username, $this->password, $this->database);
        return $con;
    }
}


$conobject = new Con("localhost","root","","mybase");
$convar = $conobject->connect();

您需要创建/提供额外的类参数。创建对象时,类构造函数需要这些值来建立连接。因此:

class Con
{
    private $address;
    private $username;
    private $password;
    private $database;
    public function __construct($address, $username, $password,$database)
    {
        $this->address = $address;
        $this->username = $username;
        $this->password = $password;
        $this->database = $database;
    }
    public function connect()
    {
        $con = mysqli_connect($this->address, $this->username, $this->password, $this->database);
        return $con;
    }
}


$conobject = new Con("localhost","root","","mybase");
$convar = $conobject->connect();

您需要创建/提供额外的类参数。创建对象时,类构造函数需要这些值来建立连接。因此:

class Con
{
    private $address;
    private $username;
    private $password;
    private $database;
    public function __construct($address, $username, $password,$database)
    {
        $this->address = $address;
        $this->username = $username;
        $this->password = $password;
        $this->database = $database;
    }
    public function connect()
    {
        $con = mysqli_connect($this->address, $this->username, $this->password, $this->database);
        return $con;
    }
}


$conobject = new Con("localhost","root","","mybase");
$convar = $conobject->connect();

您需要创建/提供额外的类参数。创建对象时,类构造函数需要这些值来建立连接。因此:

class Con
{
    private $address;
    private $username;
    private $password;
    private $database;
    public function __construct($address, $username, $password,$database)
    {
        $this->address = $address;
        $this->username = $username;
        $this->password = $password;
        $this->database = $database;
    }
    public function connect()
    {
        $con = mysqli_connect($this->address, $this->username, $this->password, $this->database);
        return $con;
    }
}


$conobject = new Con("localhost","root","","mybase");
$convar = $conobject->connect();

使用
real\u escape\u string
仅用于转义变量(通常由用户提交),例如

不要逃避整个查询

public function doQuery($query){
    return $this->connection->query($query);
}

使用
real\u escape\u string
仅用于转义变量(通常由用户提交),例如

不要逃避整个查询

public function doQuery($query){
    return $this->connection->query($query);
}

使用
real\u escape\u string
仅用于转义变量(通常由用户提交),例如

不要逃避整个查询

public function doQuery($query){
    return $this->connection->query($query);
}

使用
real\u escape\u string
仅用于转义变量(通常由用户提交),例如

不要逃避整个查询

public function doQuery($query){
    return $this->connection->query($query);
}


如果结果为
false
则查询错误并记录,而不是立即返回。这里本身没有足够的信息。您应该只对SQL查询中使用的变量使用
real\u escape\u字符串
。我认为
utf8
周围的引号被转义,因此查询无效。是否发出任何错误?
错误日志($query) <代码> doQuyIE()>代码>您应该考虑添加<代码> ECHOR$ $ ->连接->错误;<代码>内部if条件为
if($this->connection->error\u no){
如果查询失败,您将得到确切的消息。您可以将该错误粘贴到此处,这样可以获得线索。
错误日志
输出
1
而不是立即返回,如果结果为
false
则查询错误并记录。此处本身没有足够的信息。您应该只使用
真实的转义字符串< SQL >查询中使用的变量。我认为“<代码> UTF8/CODE >周围的引文正在逃逸,因此查询无效。是否存在任何错误?<代码> Error日志($Quy);<代码>内<代码> DoQuyIE()/>代码>您应考虑添加<代码> ECHO $此->连接>错误;($this->连接->错误号){
如果查询失败,您将得到确切的消息。您可以将该错误粘贴到此处,这样可以获得线索。
错误日志
输出
1
而不是立即返回,如果结果为
false
则查询错误并记录。此处本身没有足够的信息。您应该只使用
真实的转义字符串< SQL >查询中使用的变量。我认为“<代码> UTF8/CODE >周围的引文正在逃逸,因此查询无效。是否存在任何错误?<代码> Error日志($Quy);<代码>内<代码> DoQuyIE()/>代码>您应考虑添加<代码> ECHO $此->连接>错误;($this->连接->错误号){
如果查询失败,您将得到确切的消息。您可以将该错误粘贴到此处,这样可以获得线索。
错误日志
输出
1
而不是立即返回,如果结果为
false
则查询错误并记录。此处本身没有足够的信息。您应该只使用
真实的转义字符串< SQL >查询中使用的变量。我认为“<代码> UTF8/CODE >周围的引文正在逃逸,因此查询无效。是否存在任何错误?<代码> Error日志($Quy);<代码>内<代码> DoQuyIE()/>代码>您应考虑添加<代码> ECHO $此->连接>错误;($this->connection->error\u no){
如果查询失败,您将得到确切的消息。您可以将错误粘贴到此处,这样可以获得线索。
error\u log
outputs
1
我刚刚用varsI替换了我的信息刚刚用varsI替换了我的信息刚刚用varsI替换了我的信息刚刚用vars替换了我的信息