[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: mysql_query возвращается пустым
Страницы: 1, 2
Pavelvernigorov
Здравствуйте дорогие Форумчане! :)

Возникла проблема с получением результата mysql_query от БД MySQL.
Возвращает пустоту. Возможно что то с кодировками, но так и ничего не нарыл.

Ошибка:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given

Возникает вполне оправдано! Ведь mysql_query пустой -_-

Скрипт PHP:
include "mysql_connect.php";
$mysql_database='Members';

mysql_select_db($mysql_database,$dbcnx);

$query="SELECT * FROM $mysql_database WHERE Login='$login'";
$a=mysql_query($query);
if(empty($a))die("БД вернуло пустой результат! Выполнение PHP прекращено!");
$result=mysql_fetch_array($a);

В запросе MySQL участсвуют только существующие данные, поэтому ошибка исключена. Проверял на phpMyAdmin

Заранее благодарен за помощь!

_____________
«Одной из основных причин падения Римской империи было то, что, поскольку в их арифметике не было нуля, они никак не могли сообщать об удачном завершении в своих программах C»
Valick
Цитата
Warning: mysqli_query() expects parameter 1 to be mysqli

и ваш код как бы не вяжутся

_____________
Стимулятор ~yoomoney - 41001303250491
Pavelvernigorov
Цитата (Valick @ 7.01.2014 - 11:02)
и ваш код как бы не вяжутся

Просто пробывал разные варианты и спутал smile.gif Но вообщем то суть не меняется. Пока что проблема актуальна.

_____________
«Одной из основных причин падения Римской империи было то, что, поскольку в их арифметике не было нуля, они никак не могли сообщать об удачном завершении в своих программах C»
Valick
пришлите мне свою фоторграфию 10х15, я обычно снимаю порчу, сглаз, венок безбрачия и вправляю мозг по фото.
__
код кто показывать будет? Пушкин? мне уже начинать спиритический сеанс?

_____________
Стимулятор ~yoomoney - 41001303250491
Pavelvernigorov
Цитата (Valick @ 7.01.2014 - 11:32)
пришлите мне свою фоторграфию 10х15, я обычно снимаю порчу, сглаз, венок безбрачия и вправляю мозг по фото.
__
код кто показывать будет? Пушкин? мне уже начинать спиритический сеанс?

Код в шапке темы если что.

Для одарённых пишу ещё разок :)

include "mysql_connect.php";
$mysql_database='Members';

mysql_select_db($mysql_database,$dbcnx);

$query="SELECT * FROM $mysql_database WHERE Login='$login'";
$a=mysql_query($query);
if(empty($a))die("БД вернуло пустой результат! Выполнение PHP прекращено!");
$result=mysql_fetch_array($a);


_____________
«Одной из основных причин падения Римской империи было то, что, поскольку в их арифметике не было нуля, они никак не могли сообщать об удачном завершении в своих программах C»
Valick
напиши лучше для бестолковых :)
как бэ, это сложно назвать кодом))
во первых include "mysql_connect.php"; не достаточно, надо показывать как подключаетесь
во вторых, используйте конструкцию or die() грамотно т.е.
$a=mysql_query($query) or die(mysql_error());

сразу будет видно в чем ошибка

в третьих переменная во FROM настораживает и там должно быть имя таблицы, а не имя базы данных (это основная ошибка)
в четвертых утверждение
if(empty($a))die("БД вернуло пустой результат! Выполнение PHP прекращено!");

в принципе не верно, так как функция возвращает не результат, а дескриптор соединения с БД, по которому можно извлечь результат

_____________
Стимулятор ~yoomoney - 41001303250491
Pavelvernigorov
Вот код подключения.

$dblocation="mysql75.1gb.ru"; // Имя сервера
$dbuser="gb_alpha_test"; // Имя пользователя
$dbpasswd="14a0eac40ghj"; // Пароль
$dbcnx=mysql_connect($dblocation,$dbuser,$dbpasswd);

if (!$dbcnx) // Если дескриптор равен 0 соединение не установлено
{
echo("БД Не доступна!");
exit();
}


Сама ошибка кроется где то в функции mysql_query. Я вот думаю что может быть так что пхп отправляет запрос а мускул его не понимает из за кодировки. Получает кракозябры и потому обратно возвращает пустой результат, тк в таблице соответствующей записи в ответ на этот запрос нет.

Цитата
if(empty($a))die("БД вернуло пустой результат! Выполнение PHP прекращено!");

в принципе не верно, так как функция возвращает не результат, а дескриптор соединения с БД, по которому можно извлечь результат

Этот момент был сделан намеренно. Написал в тексте ошибки чушь согласен. Но суть этого момента верна. Задача была проверить если дескриптор пустой. Именно это у меня и происходит. Потому когда уже до фетч доходит он ничего не извлекает так как дескриптор пустой

_____________
«Одной из основных причин падения Римской империи было то, что, поскольку в их арифметике не было нуля, они никак не могли сообщать об удачном завершении в своих программах C»
Valick
Цитата
в третьих переменная во FROM настораживает и там должно быть имя таблицы, а не имя базы данных (это основная ошибка)
Valick
<?php
$dblocation="localhost";
$dbname="test";
$dbuser="root";
$dbpasswd="";
// Осуществляем соединение с сервером базы данных
$dbcnx=mysql_connect($dblocation,$dbuser,$dbpasswd);
// Устанавливаем кодировку соединения с БД
mysql_query("SET NAMES 'utf8'");
// Проверка доступа к базе данных
if(!$dbcnx){
echo ("<p>В настоящий момент база данных недотупна,
поэтому корректное отображение информации невозможно</p>"
);
exit ();
}
// Осуществляем выбор базы данных
if(!mysql_select_db($dbname,$dbcnx)){
echo ("<p>В настоящий момент база данных недотупна,
поэтому корректное отображение информации невозможно</p>"
);
exit ();
}
$query="SELECT * FROM `table_name` WHERE `Login` = '$login'";
$a=mysql_query($query) or die(mysql_error());
if($a){
if(mysql_num_rows($a) > 0){
$result=mysql_fetch_array($a);
}else{
echo 'Соответсвия не найдено.';
}
}
else{
echo 'Дискрипттор соединения не установлен.';
}
?>


_____________
Стимулятор ~yoomoney - 41001303250491
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.