View Full Version : اتصال همزمان به دو دیتابیس در PHP
mehdi4467
یک شنبه 04 آبان 1393, 10:07 صبح
سلام
من می خواهم همزمان به دو دیتابیس در PHP متصل شوم.
لطفا راهنمایی نمایید.
با تشکر
nazanin_asadi_1
یک شنبه 04 آبان 1393, 10:17 صبح
خب وصل شو :لبخند:
دوتا کانکشن جدا میسازی برای هر کدوم از دیتابیس ها (اصلا تست کردی ؟ )
mehdi4467
یک شنبه 04 آبان 1393, 10: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, 10: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, 11: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, 11: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, 11: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, 11: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 کانکشن دومی رو در نظر میگیره و قبلی رو نادیده میگیره
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.