php怎么连接2个数据库 怎么用php连接数据库

php能同时连接2个数据库吗?只能连接一个库,库里面可以有多张表 。
我是弄IOS的,所以在这些方面我比较熟 。
怎么样配置thinkphp 与本地mysql和sql server同时连接俩个数据库thinkphp 同时连接两个数据库的配置方法如下:
1、在Db.class.php脚本文件里面的类增加一个魔术方法__get(),写法如下:
public function __get($propertyName)
{ return $this-$propertyName;
}
这个方法是用来访问类中protected $config成员属性用的 。有的人可能会说,直接把protected改成public岂不是更好 。这样只解决了基类的问题,假如,子类也同样进行了受保护,那要你更改更多的文件 , 这是我们做IT程序员非常不愿意看到的事情 。
2、在Model.class.php中的getTableName()方法更改如下:
$tablepre = $this-db-config['tablepre'];
if(empty($this-trueTableName)) {
$tableName??= empty($tablepre) ? $this-tablePrefix : $tablepre;
if(!empty($this-tableName)) {
$tableName .= $this-tableName;
【php怎么连接2个数据库 怎么用php连接数据库】}
else
{
$tableName .= parse_name($this-name);
}
$this-trueTableName? ? =? ?strtolower($tableName);
}
return (!empty($this-dbName)?$this-dbName.'.':'').$this-
trueTableName;这样就完成了多库自由切换时,导致的表前缀问题 。
/*******************面向对象PDO连接方式*********************/
'DB_TYPE' = 'PDO', // 数据库类型
'DB_DSN' = 'mysql:host=localhost;dbname=master', // DSN连接 。
'DB_USER' = 'root', // 数据库用户名
'DB_PWD' = '123456', // 数据库密码
'DB_PORT' = '3306', // 数据库端口
'DB_PREFIX' = 'g_', // 数据表前缀
'DB_CHARSET' = 'utf8', // 数据库编码默认采用utf8
php pdo单例模式怎么同时连接两个数据库PHP pdo单例模式连接数据库
';
if ( self::$pdo == null )
{
$host = '115.29.223.160';
$user = 'zhangwei';
$pwd = 'zhang111';
$dbname = 'wangzhan';
$dsn = "mysql:host=$host;dbname=$dbname;port=3306";
$pdo = new PDO ( $dsn, $user, $pwd );
$pdo-query('set names utf8;');
$pdo-setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$pdo-setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
self::$pdo = $pdo;
}
return self::$pdo;
}
public static function getStmt ( $sql )
{
$pdo = self::getPdo ();
return $pdo - prepare( $sql );
}
}
$sql = "INSERT INTO testss (wef,wef1) VALUES(?,?)";
$stmt = Db::getStmt ( $sql );
$stmt = Db::getStmt ( $sql );
?
输出结果
NULL
object(PDO)#1 (0) { }
第一次null第二次再获取就已经有了 不用重新连接了
单利模式好处就是保存变量他是用static保存的 所以 退出函数 变量不会释放
关于这个问题,差不多就是这个样子的了,你如果不明白,可以自己去后盾瞅瞅 , 我这些都是在后盾上学的,有空可以去看一下,就算不喜欢也没关系啊,何乐而不为呢?
如何用PHP同时链接两个数据库实例化两条sql链接.
例如
$wdb = mysql_connect('localhost','root','123456','a1');//负责写入的数据库
$rdb = mysql_connect('192.168.xx.xx','root','123456','a2');//负责读的数据库
这样就可以链接两个数据库了 。
PHP中如何连接多个数据库,同时操作两个以上$conn1=mysql_connect('...','...','...');//将第一个数据库连接资源保存到变量conn1中
$conn2=mysql_connect('...','...','...');//将第二个数据库连接资源保存到变量conn2中
然后在执行查询操作时php怎么连接2个数据库,指定使用哪个连接资源php怎么连接2个数据库,如:mysql_query('select ....',$conn1);

推荐阅读