Страницы

Поиск по вопросам

вторник, 28 мая 2019 г.

Не работает MySQL из PHP

Ввёл код. Выводит пустую страницу. Где ошибка? Где может быть возможная ошибка? Заранее, спасибо
первый документ

второй документ
'; echo 'Title' . mysql_result($result,$j,'title') . '
'; echo 'Category' . mysql_result($result,$j,'category') . '
'; echo 'Year' . mysql_result($result,$j,'year') . '
'; echo 'ISBN' . mysql_result($result,$j,'isbn') . '
'; } ?>


Ответ

У вас код кривой, в этом вся проблема, давайте разберемся.
Тут не хватает знака указания переменной $
if (!db_server) //меняем на if (!$db_server)
В die, принимается всего один параметр, Вы передаете 2 параметра, запятую заменяем точкой
die("невозможно подключиться к базе данных: " , mysql_error()); //Меняем на die("невозможно подключиться к базе данных: " . mysql_error());
Корректный код второго файла:
require_once 'login.php'; $db_server = mysql_connect($db_hostname, $db_username, $db_password); if (!$db_server) die("невозможно подключиться к базе данных: " . mysql_error()); mysql_select_db($db_database) or die("невозможно подключиться к базе данных: " . mysql_error()); $query = 'select * from class'; $result = mysql_query($query); if (!$result) die("невозможно подключиться к базе данных: " . mysql_error()); $rows = mysql_num_rows($result); for ($j = 0 ; $j < $rows; ++$j) { echo 'Author' . mysql_result($result,$j,'autor') . '
'; echo 'Title' . mysql_result($result,$j,'title') . '
'; echo 'Category' . mysql_result($result,$j,'category') . '
'; echo 'Year' . mysql_result($result,$j,'year') . '
'; echo 'ISBN' . mysql_result($result,$j,'isbn') . '
'; }
Если вы используете версию PHP 7, тогда у вас не будет работать данный код. Расширение mysql отключено, Вам требуется писать будет код с использованием библиотеки PDO или mysqli, иначе получите ошибку
Uncaught Error: Call to undefined function mysql_connect()
А также обязательно смотрите лог ошибок сервера, чтобы точнее понять проблему. Для разработки можете включить вывод ошибок в браузер (не делать это не продакшене, даже под дулом пистолета)
error_reporting(E_ALL); ini_set('display_errors', 'on');

Комментариев нет:

Отправить комментарий