Php 如何在Mac OS X Snow Leopard上启用mysqli?

Php 如何在Mac OS X Snow Leopard上启用mysqli?,php,mysql,mysqli,xampp,mamp,Php,Mysql,Mysqli,Xampp,Mamp,我试图在Mac OS X上启用mysqli。我使用的是MAMP,我也尝试过XAMPP(我对其中任何一个都开放),但当我打开php.ini文件并搜索任何包含“mysqli”一词的内容时,都找不到任何内容,当我尝试运行包含任何mysqli代码的php脚本时,都不会发生任何事情:不会输出错误,脚本无法执行 当我试图通过 $dbh = new mysqli("localhost","root","root"); 我转储它输出的变量$dbh: object(mysqli)#1 (17) { ["affe

我试图在Mac OS X上启用mysqli。我使用的是MAMP,我也尝试过XAMPP(我对其中任何一个都开放),但当我打开php.ini文件并搜索任何包含“mysqli”一词的内容时,都找不到任何内容,当我尝试运行包含任何mysqli代码的php脚本时,都不会发生任何事情:不会输出错误,脚本无法执行

当我试图通过

$dbh = new mysqli("localhost","root","root");
我转储它输出的变量
$dbh

object(mysqli)#1 (17) { ["affected_rows"]=> int(0) ["client_info"]=> string(5) "5.5.9" ["client_version"]=> int(50509) ["connect_errno"]=> int(0) ["connect_error"]=> NULL ["errno"]=> int(0) ["error"]=> string(0) "" ["field_count"]=> int(0) ["host_info"]=> string(25) "Localhost via UNIX socket" ["info"]=> NULL ["insert_id"]=> int(0) ["server_info"]=> string(5) "5.5.9" ["server_version"]=> int(50509) ["sqlstate"]=> string(5) "00000" ["protocol_version"]=> int(10) ["thread_id"]=> int(12) ["warning_count"]=> int(0) }
这是我尝试的代码:

$dbh = new mysqli("localhost","root","root");
$dbh->select_db("php");
$dbh->query("SELECT * FROM test");
$count = $dbh->num_rows;
var_dump($count);
输出是

NULL

确保mysqli已启用:

将以下内容写入web目录中的php文件(我使用的是原生php,所以我将其放在/Library/WebServer/Documents/)中:



然后检查单词“mysqli”的输出,您必须将结果存储到mysqli\u结果类中。否则,您可以使用
受影响的_行
变量来显示类似的效果

$result = $dbh->query("SELECT * FROM test");
$count = $result->num_rows;
$count = $dbh->affected_rows;

如果您仍然无法连接:

尝试使用主机名
127.0.0.1
而不是
localhost

Mysql不会让我连接本地主机,除非主机是
%
(我知道这是一个黑客行为)

我还不知道原因,
但我会在找到答案后立即更新。

您使用的是什么版本的php、mam、xampp?(同时检查phpinfo)5.3.6,在其中我感觉它是用该版本的php编译的,当我在显示phpinfo()时搜索“mysqli”时,它表示mysqli已启用。因此,是否有什么原因导致这些脚本无法运行,它们似乎不会产生任何错误消息,但是任何php脚本都不会在之后运行。你能发布一个失败的小脚本吗?我甚至无法连接,例如:$dbh=newmysqli(“localhost”、“root”、“root”、“php”);之后不会运行php脚本,如果我尝试只查询数据库,则不会发生任何事情,也不会显示任何内容。请检查编辑,谢谢你的帮助和坚持,你在那个目录中放了什么?OSX中的本机Web服务器使用apache,DocumentRoot设置为
/Library/webserver/Documents
是的,它输出mysqli已启用,但脚本无法运行。这不起作用,我似乎无法让任何东西工作,正常的mysql查询可以工作,但是mysqli和mysqli准备的语句不能工作。我已经在我的Mac上进行了测试,它运行正常(默认为PHP/Apache,我已经安装了MySQL)。查看您的mysql.sock是否在php.ini中正确配置。它表示它已启用,配置应该是什么?mysqli.default\u socket查看文件系统中是否存在套接字文件。
$result = $dbh->query("SELECT * FROM test");
$count = $result->num_rows;
$count = $dbh->affected_rows;