INDEX
является одним из зарезервированных слов MySQL :
Некоторые слова, такие как SELECT, DELETE,
или BIGINT защищены и требуют
специальное лечение для использования в качестве
идентификаторы, такие как таблица и столбец
имена. Это также может быть верно для
имена встроенных функций.
Зарезервированные слова разрешены как
идентификаторы, если вы указываете их как
описано в Раздел 8.2, «Схема
Имена объектов »
Если у вас есть столбец с таким именем, вы должны указать имя столбца в кавычках - см. Имена объектов схемы :
Символ кавычки идентификатора
backtick («` »)
Что означает, что ваш запрос должен выглядеть следующим образом:
$query="SELECT * FROM quotes WHERE `index`=$ind";
Чтобы завершить мой ответ, увидев пыль машины , который сказал:
Я немного удивлен, что это не так
пожаловаться, когда таблица была создана.
Полагаю, таблица была создана с помощью некоторого инструмента, такого как phpMyAdmin или MySQL Workbench; и те вообще (всегда для некоторых) цитируют имена столбцов, чтобы избежать подобных проблем.
Редактировать после комментария: Я не видел, но вы используете этот вид кода:
$data=mysql_query($query);
print ("<p id=\"quote\">" . $data['quote'] . "</p>");
Функция mysql_query не возвращает данные напрямую: она только возвращает "ресурс" (цитирование страницы руководства) :
Ресурс возвращаемого результата должен быть
передано mysql_fetch_array()
,
и другие функции для работы с
таблицы результатов, чтобы получить доступ к возвращенным
данные.
Не уверен, что это решит все ваши проблемы (ничего не отображается, даже необработанные теги HTML нечетны) , но это может хотя бы немного помочь ...