Не выводит данные из БД, ошибку то же.

Всё о языках программирования, таких как PHP и Perl; вебсерверах, CGI, базах данных и языке SQL.

Все про мови програмування, такі як PHP та Perl; вебсервери, CGI, бази даних та мову SQL.
Post Reply
sovkavert
Posts: 2
Joined: Tue May 28, 2019 5:50 am
Gender: None specified
User Agent: Chrome Windows 1366x768

Не выводит данные из БД, ошибку то же.

Post by sovkavert »

Подключаюсь вот так:

Code: Select all

  $mysqli = mysqli_connect('mysql.zzz.com.ua','пользователь','пароль');

  if (mysqli_connect_errno()) {
    echo "Подключение невозможно: ".mysqli_connect_error();
  }

 mysqli_select_db('sovkavert', $mysqli);
 
 $res = mysqli_query($mysqli, "SELECT * FROM 'download'");
 $row = mysqli_fetch_assoc($res);
print_r( $row);
echo mysqli_errno();
Ничего не выводит. Если добавить для теста

Code: Select all

echo 'qqq'.mysqli_ping($mysqli);
выводит как положено: qqq1 - значит подключение есть- в чем проблема? Как решить?
User avatar
skyweb
Posts: 259
Joined: Tue Aug 22, 2017 3:29 pm
Location: Харьков
Gender: Male
User Agent: Chrome Linux 1920x1080

Не выводит данные из БД, ошибку то же.

Post by skyweb »

Никогда не видел чтобы имя таблицы экранировали кавычками. Это значения полей так экранируют. Или уберите кавычки или сделайте нормальное экранирование:

Code: Select all

SELECT * FROM download
SELECT * FROM `download`
sovkavert
Posts: 2
Joined: Tue May 28, 2019 5:50 am
Gender: None specified
User Agent: Chrome Windows 1366x768

Не выводит данные из БД, ошибку то же.

Post by sovkavert »

skyweb wrote:Никогда не видел чтобы имя таблицы экранировали кавычками. Это значения полей так экранируют. Или уберите кавычки или сделайте нормальное экранирование:

Code: Select all

SELECT * FROM download
SELECT * FROM `download`
Благодарю исправил это еще

Code: Select all

mysqli_select_db('sovkavert', $mysqli);
заменил на

Code: Select all

 mysqli_select_db($mysqli,'sovkavert' );
и пошло дело.
Ошибки не выводит, от того пришлось париться. Воистину брошюрка "Полный курс PHP" и 5-томник "Как найти пропущенную запятую" :)
User avatar
skyweb
Posts: 259
Joined: Tue Aug 22, 2017 3:29 pm
Location: Харьков
Gender: Male
User Agent: Chrome Linux 1920x1080

Не выводит данные из БД, ошибку то же.

Post by skyweb »

Пробуйте оборачивать свои запросы во время процесса разработки в try...catch, что-то вроде

Code: Select all

$query = "SELECT * FROM 'download';"; // 100% неправильный запрос
$result = mysqli_query($mysqli, $query);

if (mysqli_errno($mysqli)) {
    try {
        throw new Exception(
            'MySQL error ' . mysqli_error($mysqli) . ' Query: ' . $query,
            mysqli_errno($mysqli)
        );
    } catch (Exception $e) {
        $msg = 'Error No: ' . $e->getCode() . ' : ' . $e->getMessage() . '<br />';
        $msg .= nl2br($e->getTraceAsString());
        die($msg);
    }
}
Сэкономит и время и нервы.
Post Reply

Return to “PHP, CGI, SQL”