PDA

View Full Version : اتصال به دو دیتابیس



rash44
شنبه 07 بهمن 1391, 14:55 عصر
سلام
2 تا دیتابیس با یوزر های جدا دارم .
توی 1 بخش از برنامه ابتدا به دیتابیس اول وصل میشم و اطلاعات رو از دیتابیس استخراج میکنم . سپس با دستور :


mysql_select_db('dbname2');

به دیتابیس دوم وصل میشم و از اطلاعات استفاده میکنم . این تکه کد روی سیستم خودم درست کار میکنه ( با استفاده از یوزر root برای هر دو دیتابیس ) .

روی سرور برای هر دیتابیس یک یوزر جدا ایجاد کردم .
و برنامه فوق روی سرور سایت جواب نمیده و هیچ اطلاعاتی از دیتابیس دوم استخراج نمیشه .

برای رفع مشکل فوق باید چی کار کنم ؟

به این صورت هم عمل کردم اما جواب نگرفتم
1 - اتصال به mysql
2 - انتخاب db اول
3 - ایجاد کوئری و واکشی اطلاعات
4 - قطع اتصال از mysql

5 - اتصال به Mysql
6 - انتخاب db دوم
7- نوشتن کوئری و ...
با این خطا مواجه شدم :


Fatal error: Cannot redeclare db_connect() (previously declared in ...


کد :


require_once('connect1.php');
$link1 = db_connect();
//
$sql1="SELECT * FROM `user`";
$result1 = mysql_query($sql1);
$array1=mysql_fetch_assoc($result1);
//
db_close($link1);
//
require_once('connect2.php');
$link2 = db_connect();
$sql2="SELECT * FROM `user2`";
$result2 = mysql_query($sql2);
//
db_close($link2);

rash44
شنبه 07 بهمن 1391, 16:37 عصر
لطفا راهنمایی کنید

MMSHFE
شنبه 07 بهمن 1391, 19:00 عصر
<?php
$settings1 = array(
'host' => 'localhost',
'name' => 'db1',
'pass' => 'pass1',
'user' => 'user1'
);
$settings2 = array(
'host' => 'localhost',
'name' => 'db2',
'pass' => 'pass2',
'user' => 'user2'
);

$link1 = mysql_connect($settings1['host'], $settings1['user'], $settings1['pass']) or die('Connection error');
mysql_select_db($settings1['name'], $link1);
$link2 = mysql_connect($settings2['host'], $settings2['user'], $settings2['pass']) or die('Connection error');
mysql_select_db($settings2['name'], $link2);
// Your codes go here
mysql_close($link1);
mysql_close($link2);
?>

Tarragon
شنبه 07 بهمن 1391, 19:02 عصر
شما باید هر mysql_select_db رو عنوان یک متغیر معرفی کنید
$db = mysql_select_db('DBNAME',$con);
بعد باید زمان اجرای query فقط از همون استفاده کنید
$result1 = mysql_query($sql,$db);

MMSHFE
شنبه 07 بهمن 1391, 19:07 عصر
شرمنده ولی فکر کنم یک اشتباه کوچک رخ داده: پارامتر دوم، اتصال هست نه دیتابیس