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

时间:2011-08-14 02:32:16

标签: 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) { ["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

3 个答案:

答案 0 :(得分:2)

确保启用了mysqli:

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

<?php phpinfo(); ?>

然后检查输出中的单词“mysqli”

答案 1 :(得分:1)

您必须将结果存储到MySQLi_Result类中。否则,您可以使用affected_rows变量来显示类似的效果。

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

答案 2 :(得分:0)

如果您仍然无法连接:

尝试使用主机名127.0.0.1代替localhost

除非主机为%(我知道这是黑客),否则MySQL不会让我与localhost连接

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