2016-05-12 1 views
2

Я недавно установил MAMP. Но я не могу успешно выполнять MySQL-запросы с php. Я могу подключиться к MySQL с php, но все мои запросы возвращаются как NULL. Я не получаю сообщение об ошибке или другое сообщение, которое поможет мне диагностировать проблему.MAMP - все запросы MySQL Возврат Null

Как ни странно, я могу успешно запросить MySQL с phpMyAdmin и MySQLWorkbench.

Вот мой код:

<?php 
$link  = mysqli_init(); 
$con  = mysqli_real_connect($link, 'localhost', 'root', 'root', 'mrmk', 8889); 
$db  = 'mrmk'; 

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL; 

$sql = "SHOW TABLES FROM `$db`"; 
$result = mysqli_query($con, $sql); 
echo "</br>" . "1. MySQL Error: " . mysqli_error(); 
echo "</br>" . "result: "; 
var_dump($result); 

$sql = "SHOW TABLES FROM $db"; 
$result = mysqli_query($con, $sql); 
echo "</br></br>2. MySQL Error: " . mysqli_error(); 
echo "</br>" . "result: "; 
var_dump($result); 

$sql = "SELECT * FROM `transactionTable` WHERE `attorneyName` LIKE \'%howard%\'"; 
$result = mysqli_query($con, $sql); 
echo "</br></br>3. MySQL Error: " . mysqli_error(); 
echo "</br>" . "result: "; 
var_dump($result); 

if (!$result) { 
    echo "</br></br>" . "4. MySQL Error: " . mysqli_error(); 
    exit; 
} else { 
    echo "we should have results."; 
} 

while ($row = mysqli_fetch_row($result)) { 
    echo "Table: {$row[0]}\n"; 
} 

mysqli_free_result($result); 

?> 

Когда я получить доступ к странице через локальный хост я получаю это:

Host information: Localhost via UNIX socket 
1. MySQL Error: 
result: NULL 

2. MySQL Error: 
result: NULL 

3. MySQL Error: 
result: NULL 

4. MySQL Error: 

Когда я выполняю те же самые запросы из PhpMyAdmin, они выполняются успешно и вернуть не- Результаты NULL.

У меня есть два вопроса:

  1. Какой код я могу добавить, чтобы помочь диагностировать эту проблему?
  2. У меня есть ошибка в коде, который вызывает у меня результаты NULL.
+0

Я не вижу, где вы определяете '$ db'. –

ответ

0

Вы включили расширение mysqli в PHP? Проверьте журнал ошибок apache. Посмотрите, например, на this question. MySQLi отключена по умолчанию, вы должны раскомментировать линии

extension=php_mysqli 

в php.ini файле.

0

Чтобы ответить на вопрос # 1, вам может быть полезно указать ваши переменные $ sql, чтобы убедиться, что ваши запросы действительны и какими вы их предполагали.