2017-02-03 5 views
-2

Я понимаю, что здесь есть много вопросов, но никто из них, похоже, мне не помогает. Проблема заключается в следующем:Почему моя mysqli_query возвращает false?

У меня есть сайт с базой данных SQL, и теперь я разрабатываю приложение, которое считывает данные. Я читал, что лучший способ сделать это - это веб-сервис, так что я сейчас пишу его. Во-первых, я пытаюсь получить все данные для отображения на веб-странице для целей тестирования. У меня есть следующий код сейчас:

<?php 
$servername = "localhost"; 
$username = "myusername"; 
$password = "mypassword"; 
$db = "mydatabase"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $db, 3306); 

// Check connection 
if (!$conn){echo "Not connected";} else {echo "connected";} 

$query = "SHOW TABLES FROM mydata"; 
$result = mysqli_query($query) or die(" but not executed" . mysqli_error()); 
?> 

Когда я сохранить это и перейти к МойВебСайт/test.php, он отображает следующее:

подключен, но не выполняется. Это означает, что он подключается правильно, но mysqli_query() возвращает false. Однако mysqli_error пуст.

Это весь файл test.php. Я что-то упускаю?

+3

Вы подключены к базе данных 'mydatabase' и пытаетесь получить таблицы из базы данных 'mydata'. Просто используйте «SHOW TABLES». И используйте $ conn-> query ("SHOW TABLES") вместо mysqli_query –

+4

'mysqli_error' требует подключения в качестве аргумента. –

+0

Не сообщается об ошибках? Добавьте отчет об ошибках в начало файла (ов) сразу после открытия '

ответ

1

«Я что-то упустил?»

Да, аргументы подключения к БД как mysqli_query() и mysqli_error().

RTM-х

Это все там.

  • Btw, это сообщество wiki. Из этого не должно возникнуть никаких проблем.

Если это все еще не работает, вам может потребоваться удалить порт , 3306.

0

Ваш запрос $ появляется сказать

SHOW TABLES FROM MyData

Однако база данных на самом деле называется MyDatabase, как показано на $ дб линии.