Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Базы данных MySQL

  Все выпуски  

RusFAQ.ru: Базы данных SQL


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Базы данных SQL

Выпуск № 124
от 31.07.2006, 00:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 317, Экспертов: 40
В номере:Вопросов: 1, Ответов: 2


Вопрос № 50183: Помогите. У меня идет подключение к базе $conn, извлекаются некие данные, внутри массива вложено второе подключение $conn4, который извлекают данные из другой таблицы, проблема в том, что при первом обращении к $conn4 значения первого массива...

Вопрос № 50.183
Помогите. У меня идет подключение к базе $conn, извлекаются некие данные,
внутри массива вложено второе подключение $conn4, который извлекают данные из другой таблицы,
проблема в том, что при первом обращении к $conn4 значения первого массива $myrow обнуляются.
В чём-же дело?
если что-пишите: admin@zaofor.ru

HTML Результат см. в самом низу...

function out($login,$pass)
{
if ($login=="ххх" & $pass=="ххх")
{
$conn=mysql_connect('localhost','Yuriy','007007007') or die("Не смогли соедениться с сервером...
");
print ("");
$selected=mysql_select_db("base",$conn) or die("Не смогли соедениться с базой...
");
print ("");
$result=mysql_query("SELECT * FROM vistar",$conn);
echo "














";
while ($myrow = mysql_fetch_row($result))
{
printf("










");
}
echo ("







Товары
Номер Вид товара Наименование Цена
(руб.)
Продажа
Покупка
Публикование Комментарий Удалить Изменить
$myrow[0] ");

$conn4 = mysql_connect('localhost', 'Yuriy', '007007007') or die(mysql_error());
mysql_select_db('base', $conn4) or die(mysql_error());
$sql4 = "SELECT gruppa, id FROM vistar_group";
$result4 = mysql_query($sql4,$conn4);
echo("");
}
mysql_close($conn4);
echo("
$myrow[2] $myrow[3] $myrow[4] $myrow[5] $myrow[6]
");
out_group();
echo("


");
}

Выводимый HTML код:

































Товары
Номер Вид товара Наименование Цена
(руб.)
Продажа
Покупка
Публикование Комментарий Удалить Изменить
1





Отправлен: 26.07.2006, 00:03
Вопрос задал: Колбин Юрий Владимирович (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Козлов Алексей Сергеевич
Здравствуйте, Колбин Юрий Владимирович!

Как мне кажется сам код корректен, но меня смущает Ваше множественное подключение к базе:

$conn=mysql_connect('localhost','Yuriy','007007007') or die("Не смогли соедениться с сервером...<br>");
$selected=mysql_select_db("base",$conn) or die("Не смогли соедениться с базой...<br>");

$conn4 = mysql_connect('localhost', 'Yuriy', '007007007') or die(mysql_error());
mysql_select_db('base', $conn4) or die(mysql_error());

Достаточно следующего кода:

$link=mysql_connect('localhost','Yuriy','007007007') or die("Не смогли соедениться с сервером...<br>");
mysql_select_db("base") or die("Не смогли соедениться с базой...<br>");

Так же по-моему у Вас что-то сложный код при отображении второго запроса.

---------
Хорошие программы как птенцы - их нужно долго высиживать на яйцах
Ответ отправил: Козлов Алексей Сергеевич (статус: 2-ой класс)
Ответ отправлен: 26.07.2006, 09:56

Отвечает: Игорь Елизаров
Здравствуйте, Колбин Юрий Владимирович!
В MSSQL подобная ситуация возникает, когда теряется соединение с базой
может и здесь то же самое ?

MsSQL допускает открытие нескольких коннекций одновременно, а вот как MySql не знаю.
с другой стороны, немного странно организованы запросы.
первый запрос выбирает из базы все данные.
так как номер высветился, значит что-то выбралось($myrow[0] = 1). то есть я бы предложил следующее
- убрать второй запрос и посмотреть как работает. Первая строка не должна быть пустой, может быть ограничить выборку по первому запросу или ввести какую-то сортировку
- посмотреть, как работает только второй запрос
- ну и после этого попробовать соединить их вместе
Ответ отправил: Игорь Елизаров (статус: 5-ый класс)
Ответ отправлен: 26.07.2006, 20:06


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.35 от 27.07.2006
Яндекс Rambler's Top100

В избранное