Как включить mysqli в Mac OS X Snow Leopard? - PullRequest
3 голосов
/ 14 августа 2011

Я пытаюсь включить mysqli в Mac OS X. Я использую MAMP и пробовал XAMPP (я открыт для любого из них), но когда я открываю файл php.ini и ищу что-нибудь, содержащее слово «mysqli» ничего не найдено, и когда я пытаюсь запустить скрипт PHP, содержащий какой-либо код mysqli, ничего не происходит: ошибки не выводятся, скрипт просто не выполняется.

Когда я пытаюсь подключиться по

$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 ]

2 голосов
/ 14 августа 2011

Убедитесь, что mysqli включен:

Запишите следующее в файл php в вашем веб-каталоге (я использую собственный php, поэтому я поместил его в / Library / WebServer / Documents /):

<?php phpinfo(); ?>

Затем проверьте вывод слова «mysqli»

1 голос
/ 14 августа 2011

Вы должны сохранить результат в классе MySQLi_Result.В противном случае вы можете использовать переменную affected_rows, чтобы показать аналогичный эффект.

$result = $dbh->query("SELECT * FROM test");
$count = $result->num_rows;
$count = $dbh->affected_rows;
0 голосов
/ 14 февраля 2019

Если вы все еще не можете подключиться:

Попробуйте использовать имя хоста 127.0.0.1 вместо localhost.

Mysql не позволит мне соединиться с локальным хостом, если хост не % (я знаю, что это хак)

Я пока не знаю причину, но я обновлю свой ответ, как только найду его.

...