Вопрос № 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("
$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("
Отвечает: Козлов Алексей Сергеевич
Здравствуйте, Колбин Юрий Владимирович!
Как мне кажется сам код корректен, но меня смущает Ваше множественное подключение к базе:
$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