Как вывести данные из MySQL при помощи PHP?

219
11 мая 2022, 17:00

Есть таблица news, в ней 5 полей id, text, title, author, date. Необходимо вывести на странице эти данные. У меня никак не получается это сделать: все время какие-либо ошибки. Пробовал использовать функцию mysql_fetch_assoc, но что-то, как ее применять, я не очень понял постоянно - одна и та же ошибка expects parameter 1 to be resource, boolean. Я, конечно, понимаю, что это значит, но вот как исправить - нет...

$news = mysql_query("SELECT * FROM `news` ");
while ($row = mysql_fetch_assoc($news, MYSQL_ASSOC)) {
    foreach ($row as $col_value) {
        print "\t\t<td>$col_value</td>\n";
    }
}
Answer 1

Вообще-то все очень просто, функций для работы с MySQL из PHP много (смотрите документацию). Вот небольшой пример вывода данных:

$db_host=''; // ваш хост
$db_name=''; // ваша бд
$db_user=''; // пользователь бд
$db_pass=''; // пароль к бд
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);// включаем сообщения об ошибках
$mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name); // коннект с сервером бд
$mysqli->set_charset("utf8mb4"); // задаем кодировку
$result = $mysqli->query('SELECT * FROM `table_name`'); // запрос на выборку
while($row = $result->fetch_assoc())// получаем все строки в цикле по одной
{
    echo '<p>Запись id='.$row['id'].'. Текст: '.$row['text'].'</p>';// выводим данные
}
Answer 2

Позволю себе запостить пример, приведенный выше, немного исправленный, с использованием mysql, который не рекомендуется к использованию:

$sdd_db_host=''; // ваш хост
$sdd_db_name=''; // ваша бд
$sdd_db_user=''; // пользователь бд
$sdd_db_pass=''; // пароль к бд
$conn = mysql_connect($sdd_db_host,$sdd_db_user,$sdd_db_pass); // коннект с сервером бд
if(!$conn)
{
    throw new Exception('Не удалось подключиться к базе данных! Проверьте параметры подключения');
}
if(!mysql_select_db($sdd_db_name, $conn)) // выбор бд
{
    throw new Exception("Не удалось выбрать базу данных {$ssd_db_name}!");
}
$result = mysql_query('SELECT * FROM `table_name`', $conn); // запрос на выборку
if(!$result)
{
    throw new Exception(sprintf('Не удалось выполнить запрос к БД, код ошибки %d, текст ошибки: %s', mysql_errno($conn), mysql_error($conn)));
}
while($row = mysql_fetch_array($result))
{
    echo '<p>Запись id='.$row['id'].'. Текст: '.$row['text'].'</p>';// выводим данные
}
Answer 3
$resul = mysql_query("SELECT * FROM `news` ORDER BY `id` DESC");
$ar = mysql_fetch_array($resul);
do
{
echo "".$ar[news]." | ".$ar[date]."";
}
while ($ar = mysql_fetch_array($resul));
READ ALSO
Несколько id категорий

Несколько id категорий

Нужна помощь! в строке 12: private $vacancy_category_id = 105; параметр для id 105 категории подключает функции которые прописаны ниже, сейчас параметры подключаются...

178
Пролема с переменной вне цикла foreach

Пролема с переменной вне цикла foreach

всем доброго времени сутокСтолкнулся с проблемой которую не могу решить без помощи(поверьте я пытался) Сама проблема:

260
Как правильно сохранить несколько товаров через foreach, attach, sync (laravel)?

Как правильно сохранить несколько товаров через foreach, attach, sync (laravel)?

Всем привет! Учусь, учусь и еще раз учусь)) Есть 3 таблицы

155
Доступ к БД сайта

Доступ к БД сайта

Каким образом можно подключиться к БД сайта без указания пароля? ($mysqli = new mysqli($db_host, $db_user, $db_pass, $db_name);, $db_pass) (пользователю не должно быть видно...

227