Нужно вывести данные из разных таблиц на одну страницу. При чем из одной таблицы все благополучно выводится. Из другой таблицы... никак не хочет.
Вот как я прописываю обращение к этим таблицам:
<?php
$result = mysqli_query($link, "SELECT img,title,links FROM slideshow");
$center = mysqli_query($link, "SELECT title,text,phone,adress FROM index");
/*Проверка*/
if ((!$result)&&(!$center))
{
echo "<br>Запрос на выборку данных из базы не прошел. Напишите об этом администратору по e-mail: admin@admin.com<br><strong>Код ошибки: </strong>";
/*Останавливаем*/
exit (mysqli_error($link));
}
/*Есть ли в $result и $center хоть одна строка*/
if ((mysqli_num_rows($result)>0)&&(mysqli_num_rows($center)>0))
{
$myrow = $result->fetch_array(MYSQLI_ASSOC);
$info = $center->fetch_array(MYSQLI_ASSOC);
}
/*Если $result < 0 и $center < 0, то останавливаем*/
else
{
echo "<p>Информация по запросу не может быть извлечена, таблица пустая, или в ней нет записей, соответствующих запросу.</p>";
exit();
}
?>
Потом в нужных местах из таблицы index вывожу данные обычным способом:
<?php printf("%s",$info['title']);?>
Обе таблицы не пустые, в них есть нужные данные.
Ругается на строку:
$info = $center->fetch_array(MYSQLI_ASSOC);
Пишет или вот так
Fatal error: Call to undefined function mysali_fetch_assoc() in Z:\home\localhost\www\ves\blocks\center.php on line 45 ...или вот так: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in Z:\home\localhost\www\ves\blocks\center.php on line 42 Информация по запросу не может быть извлечена, таблица пустая, или в ней нет записей, соответствующих запросу.
Если указывать:
if ((!$result) || (!$center))
то выходит ошибка:
"Запрос на выборку данных из базы не прошел. Напишите об этом администратору по e-mail: admin@ves.ves Код ошибки: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'index' at line 1".
P.S.: вообще стыдно... мне кажется, что все так примитивно у меня построено, а я даже в этом разобраться не могу...
Слово index
является зарезервированным в MySQL. Поэтому во втором запросе ошибка - вместо имени таблицы MySQL встречает зарезервированное слово. Если переименовать таблицу - не вариант, то нужно взять слово index в одинарные обратные кавычки (backtick): `index`.
Документация по резервированным словам MySQL
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Можешь прислать точный запрос, отправляемый в бд?