#php #sql #content-management-system
#php #sql #content-management-system
Вопрос:
Я пытался создать ОЧЕНЬ простую CMS для веб-сайта для личного проекта. Я впервые использую MySQL и один из первых, кто использует PHP, так что это своего рода опыт обучения. Однако, по словам всех, кого я спрашивал, это должно сработать. Однако все, что он выводит, это <h1></h1>
. Я проверил все в своей базе данных и таблице, имена столбцов правильные. Я пока не пытаюсь ничего добавить в базу данных. Я просто хочу иметь возможность читать, и даже простое подтверждение концепции не работает.
Если это имеет значение, я использую 000webhost для своего веб-хостинга.
<?php
$mysql_host = "****";
$mysql_database = "****";
$mysql_user = "sql_blog";
$mysql_password = "*****";
$link = mysql_connect($mysql_host, $mysql_user, $mysql_password);
if (!mysql_select_db($mysql_database, $link)) {
echo 'Database error';
exit;
}
$sql_statement = ('SELECT * FROM Blog_Entries');
$result = mysql_query($sql_statement);
while ($curr_row = mysql_fetch_assoc($result)) {
echo '<h1>' . $result['Title'] . '</h1>';
}
mysql_free_result($result);
?>
Большая часть этого кода скопирована с http://guy-lecky-thompson.suite101.com/build-a-blog-or-cms-with-php-a55246 но, как я уже сказал, похоже, это должно сработать…
Комментарии:
1. Никогда не используйте select * в коде. Похоже, что имя вашего столбца не является «Заголовком».
2. Кроме того, в зависимости от сервера mysql имена таблиц и столбцов чувствительны к регистру.
3. Никогда не размещайте свои учетные данные на общедоступном веб-форуме. ПЛОХАЯ безопасность. Измените свое имя пользователя и пароль СЕЙЧАС, СЕЙЧАС.
Ответ №1:
У вас ошибка в цикле while.
echo '<h1>' . $result['Title'] . '</h1>';
Должно быть
echo '<h1>' . $curr_row['Title'] . '</h1>';
При переборе строк вам нужно использовать строку, а не указатель на результирующий набор.
Ответ №2:
while ($curr_row = mysql_fetch_assoc($result)) {
echo '<h1>' . $result['Title'] . '</h1>';
}
Изменить на:
while ($curr_row = mysql_fetch_assoc($result)) {
echo '<h1>' . $curr_row['Title'] . '</h1>';
}
Ответ №3:
Вам нужно изменить
echo '<h1>' . $result['Title'] . '</h1>';
Для
echo '<h1>' . $curr_row['Title'] . '</h1>';
$result — это дескриптор всего результирующего набора, возвращенного вашим запросом. $ curr_row — это строка, которую вы извлекли из результирующего набора.
Ответ №4:
Изменить
echo '<h1>' . $result['Title'] . '</h1>';
Для
echo '<h1>' . $curr_row['Title'] . '</h1>';