PDA

View Full Version : اتصال همزمان به دو دیتابیس در PHP



mehdi4467
یک شنبه 04 آبان 1393, 09:07 صبح
سلام
من می خواهم همزمان به دو دیتابیس در PHP متصل شوم.
لطفا راهنمایی نمایید.

با تشکر

nazanin_asadi_1
یک شنبه 04 آبان 1393, 09:17 صبح
خب وصل شو :لبخند:

دوتا کانکشن جدا میسازی برای هر کدوم از دیتابیس ها (اصلا تست کردی ؟ )

mehdi4467
یک شنبه 04 آبان 1393, 09:37 صبح
خب وصل شو :لبخند:

دوتا کانکشن جدا میسازی برای هر کدوم از دیتابیس ها (اصلا تست کردی ؟ )

سلام
کد زیر رو نوشتم:

<?php
$con = mysql_connect("localhost","root","");
$db1 = mysql_select_db("db1",$con);
$db2 = mysql_select_db("db2",$con);
$sql1 = "SELECT * FROM admin";
$sql2 = "SELECT * FROM admin";
$result1 = mysql_query($sql1,$db1);
$result2 = mysql_query($sql2,$db2);
?>




ولی خطای زیر رو میدهد:

Warning: mysql_query() expects parameter 2 to be resource, boolean given in D:\xampp\htdocs\omronir\google\admin\google.php on line 7

Warning: mysql_query() expects parameter 2 to be resource, boolean given in D:\xampp\htdocs\omronir\google\admin\google.php on line 8

hamedarian2009
یک شنبه 04 آبان 1393, 09:52 صبح
باید به mysql_query متغیر connect رو بدین نه اتصال به دیتابیس


$con1 = mysql_connect("localhost","root","");
$con2 = mysql_connect("localhost","root","");
$db1= mysql_select_db("db1",$con1);
$db2= mysql_select_db("db2",$con2);
$sql1 = "SELECT * FROM admin";
$sql2 = "SELECT * FROM admin";
$result1 = mysql_query($sql1,$con1);
$result2 = mysql_query($sql2,$con2);

mehdi4467
یک شنبه 04 آبان 1393, 10:15 صبح
سلام
من کد رو با راهنمایی شما شکل زیر اصلاح کردم:

<?php
$con1 = mysql_connect("localhost","root","");
$con2 = mysql_connect("localhost","root","");

$db1 = mysql_select_db("db1",$con1);
$db2 = mysql_select_db("db2",$con2);

$sql1 = "SELECT * FROM admin WHERE id = 1";
$sql2 = "SELECT * FROM admin WHERE id = 1";

$result1 = mysql_query($sql1,$con1);
$result2 = mysql_query($sql2,$con2);

$show_result1 = mysql_fetch_array($result1);
$show_result2 = mysql_fetch_array($result2);

echo $show_result1['name'];
echo "<br/>";
echo $show_result2['name'];
?>


جداول db1 و db2 هم به شکل زیر است:

124959
ولی خروجی به شمل زیر است:
mehdi2
mehdi2
در حالی که اولی باید mehdi1 باشد.

hamedarian2009
یک شنبه 04 آبان 1393, 10:33 صبح
ببخشید یادم رفت اتصال دومی رو اینطوری بنویسین

$con2 = mysql_connect("localhost","root","", true);

همیشه در کوئری هاتون مقادیر رو داخل تک کوتیشن قرار بدین اینجا ربطی به PHP نداره که عددها نیازی نباشه داخل کوتیشن قرار بگیرن بلکه از سینتکس SQL استفاده میشه



$sql1 = "SELECT * FROM admin WHERE id = '1'";
$sql2 = "SELECT * FROM admin WHERE id = '1'";

Mohammadsgh
یک شنبه 04 آبان 1393, 10:38 صبح
نام جدول ها رو تو دیتابیس یکی نزارید.این لینک ها رو ببینید و ازشون الگو بگیرید:لبخندساده:
http://www.qualitycodes.com/6836/PHP/How-to-connect-two-mysql-databases-in-PHP.html
http://schoolsofweb.com/how-to-connect-to-multiple-mysql-databases-on-a-single-web-page-in-php/
http://stackoverflow.com/questions/274892/how-do-you-connect-to-multiple-mysql-databases-on-a-single-webpage

hamedarian2009
یک شنبه 04 آبان 1393, 10:53 صبح
نام جدول ها رو تو دیتابیس یکی نزارید.این لینک ها رو ببینید و ازشون الگو بگیرید:لبخندساده:
http://www.qualitycodes.com/6836/PHP/How-to-connect-two-mysql-databases-in-PHP.html
http://schoolsofweb.com/how-to-connect-to-multiple-mysql-databases-on-a-single-web-page-in-php/
http://stackoverflow.com/questions/274892/how-do-you-connect-to-multiple-mysql-databases-on-a-single-webpage

ارتباطی به نام جداول نداره وقتی دوتا کانکشن مشابه از یک سرور که اینجا localhost داریم php کانکشن دومی رو در نظر میگیره و قبلی رو نادیده میگیره