query("SELECT * FROM table) возвращает пустой объект, хотя таблица есть
$conn = new mysqli("localhost", "root", ""); /// успешное подключение
if ($conn->query("CREATE DATABASE Comics")) {
die ("error: ".$conn->error);
} else {
echo "base created succes<br>";} /// успешное создание базы данных
mysqli_select_db ($conn, "comics"); /// и успешный выбор базы данных
Mysql_select_db("comics") пишет, что не выбирал базу данных, хотя создать таблицу (команды ниже) в ней и даже добавить строки через INSERT INTO получилось. Но не в этом проблема.
$conn->query("CREATE TABLE `Villians` (
id INT(3) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(14) NOT NULL,
byear INT(4)
)"); /// до сюда всё хорошо.
$result = $conn->query("SELECT * FROM `villians`"); /// **Вот проблема!!!**
Она возвращает пустой объект массив:
mysqli_result Object ( )
Ответы (1 шт):
Автор решения: liebeSonne
→ Ссылка
похоже включена чувствительность к регистру lower_case_table_names
CREATE TABLE Villians тоже не выполняется, просто ошибку не выводит, а дальше просто не находит таблицы при SELECT * FROM villians, потому и пустой результат.
Пробуйте названия таблиц и БД одинаково писать.
upd:
вот пример, который запускал у себя:
//$con = ...
if ($conn->query("CREATE DATABASE Comics")) {
die ("error: ".$conn->error);
} else {
echo "\nbase created succes";
}
$r = mysqli_select_db ($conn, "comics");
echo "\nis_connect(comics) : " . ($r ? 'true' : 'false');
$r = mysqli_select_db ($conn, "Comics");
echo "\nis_connect(Comics) : " . ($r ? 'true' : 'false');
$r = $conn->query("CREATE TABLE `Villians` (
id INT(3) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(14) NOT NULL,
byear INT(4)
)");
// првильное соединение
mysqli_select_db ($conn, "Comics");
$result = $conn->query("SELECT * FROM `villians`"); /// **Вот проблема!!!**
echo "\nselect(villians) : " . gettype($result) . ' : ' . ($result ? 'true' : 'false');
$result = $conn->query("SELECT * FROM `Villians`"); /// **Вот проблема!!!**
echo "\nselect(Villians) : " . gettype($result). ' : ' . ($result ? 'true' : 'false');
на выходе:
base created succes
is_connect(comics) : false
is_connect(Comics) : true
select(villians) : boolean : false
select(Villians) : object : true