我正在尝试在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
答案 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连接
我还不知道原因, 但我会在找到答案后立即对其进行更新。