gpt4 book ai didi

php - 新的 Mysqli 对象为空

转载 作者:可可西里 更新时间:2023-11-01 06:36:16 25 4
gpt4 key购买 nike

我正在尝试使用 PHP 中的 Mysqli 创建到 MySQL 数据库的连接。当我在独立页面上执行以下代码时:

<?php
ini_set('display_errors', 'On');
error_reporting(E_ALL);

$link = new mysqli('localhost', 'myuser', 'mypass', 'dbname');
var_dump($link);

我输出的只是一个空的 Mysqli 对象,其中所有属性都为空。没有错误或显示任何内容。

我在 Apache 或 MySQL 日志中也没有看到任何条目。我有点迷茫了。

最佳答案

我也遇到了这个问题,并且疯狂地尝试调试它。事实证明,有时出于某种原因,mysqli 对象没有被填充,但直接访问它的属性仍然会执行它背后的 native 代码。因此,即使整个 mysqli 对象的 var_dump 显示空属性,如果您单独访问它们,它们仍然存在。如果 errorno 结果为假,您可能执行了一个有效的查询,结果集为空,这是您没有预料到的。希望这会有所帮助。

$mysqli = mysqli_connect('localhost', 'root', '', 'test', 3306);

var_dump($mysqli);

var_dump($mysqli->client_info);
var_dump($mysqli->client_version);
var_dump($mysqli->info);

和输出:

object(mysqli)[1]
public 'affected_rows' => null
public 'client_info' => null
public 'client_version' => null
public 'connect_errno' => null
public 'connect_error' => null
public 'errno' => null
public 'error' => null
public 'field_count' => null
public 'host_info' => null
public 'info' => null


public 'insert_id' => null
public 'server_info' => null
public 'server_version' => null
public 'stat' => null
public 'sqlstate' => null
public 'protocol_version' => null
public 'thread_id' => null
public 'warning_count' => null

string 'mysqlnd 5.0.8-dev - 20102224 - $Revision: 321634 $' (length=50)
int 50008
null
int 0
string 'localhost via TCP/IP' (length=20)
string '5.5.20-log' (length=10)
int 50520

关于php - 新的 Mysqli 对象为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9302335/

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