我在这个连接中缺少什么?

时间:2010-11-03 14:48:44

标签: php mysql mysqli

我正在尝试通过mysqli建立PHP(5.2.6)/ MySQL连接。

error_log( sprintf( 'Querying %s:%s (%s) as %s/%s', DBHOST, DBPORT, DBNAME, DBUSER, DBPASSWORD ) );

$mysqli = @new mysqli( DBHOST, DBUSER, DBPASSWORD, DBNAME, DBPORT );

if( !$mysqli ) {
  error_log( 'Unable to establish a connection to ' . DBHOST . '.' . DBNAME . ': ' . mysqli_connect_error() );
  exit( 'Unable to connect to the db.' );
}
else {
  error_log( '--> mysqli connection established' );
}

... more stuff ...

此代码的结果是初始写入error_log发生(它验证了常量是否正确定义),但没有别的。没有。就我所知,一切都停止了。无法连接消息,没有建立连接消息。根本不值一提。我可以使用常量定义的参数直接连接到MySQL(从日志打印中复制和粘贴)。

我已经阅读了5.2.9之前的PHP版本中的错误,我尝试了各种方法来检测错误,但没有任何变化。一切都停止了,我开始失去理智,想弄清楚我还能做些什么。

有没有人见过这个?似乎已经安装了MySQLi - 通过它在phpinfo()的输出中的存在以及对function_exists( mysqli_connect )的测试来验证。我错过了一些明显的东西,因为我太专注于细节了吗?

任何想法都会受到赞赏。

更新

当我说“我尝试过各种检测错误的方法”时,我应该更清楚了。没有其他变体包含使用“@”静音输出。请不要专注于此。这只包含在我上次基于PHP文档中读取的内容的尝试中。

1 个答案:

答案 0 :(得分:0)

首先,道歉。我在一个陌生的环境中工作,并且不知道错误记录被关闭了。我通过ini_set( 'log_errors', true )启用了该功能,并开始获取我需要的信息。我留下这个以防万一其他人需要搜索同样的问题。