操作方法

创建两个数据库test1 test2 同一个host下面

分别在两个数据库中创建表

-- ----------------------------
-- Table structure for test_db
-- ----------------------------
DROP TABLE IF EXISTS `test_db`;
CREATE TABLE `test_db` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user` varchar(50) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COLLATE=utf8_bin; SET FOREIGN_KEY_CHECKS = 1;

执行下面的php脚本


<?php $db1=array(
"host"=>"localhost", //注意两个数据库在同一个host下
"port"=>"3306",
"user"=>"root",
"pass"=>"",
"db" =>"test",
); $conn1 = mysql_connect($db1['host'].':'.$db1['port'],$db1['user'],$db1['pass']);
mysql_select_db($db1['db'],$conn1); $db2=array(
"host"=>"localhost", //注意两个数据库在同一个host下
"port"=>"3306",
"user"=>"root",
"pass"=>"",
"db" =>"test1",
); $SQL = "INSERT INTO `test_db`(`id`, `user`) VALUES (0, 'test1');";
$conn2 = mysql_connect($db2['host'].':'.$db2['port'],$db2['user'],$db2['pass']); mysql_select_db($db2['db'],$conn2); mysql_query($SQL,$conn1); //注意这里选择的是1号数据库 echo mysql_error(); //执行结果应该是插入在2号数据库了 ?>

执行结果插入在2号数据库了

但是明明我们选择的是1号数据库啊 ...

接下来我们把两个数据库的host改成localhost和127.0.0.1

就好了,就好了 ...

总结

php mysql_connect 在同一个host下面的多数据库切换mysql_select_db()方法不起作用


//推荐使用
//php官方已经不推荐使用mysql_connect了
$conn1=mysqli_connect($db1['host'].':'.$db1['port'],$db1['user'],$db1['pass'],$db1['db']); $conn2=mysqli_connect($db2['host'].':'.$db2['port'],$db2['user'],$db2['pass'],$db2['db']);
mysqli_query($conn1,$SQL);

php mysql_connect 在同一host下多数据库mysql_select_db()的bug .的更多相关文章

  1. Linux下链接数据库图形化工具

    (一).Linux环境下mysql的安装.SQL操作 Linux下安装MySQL (rmp --help) 基本步骤:上传软件->检查当前Linux环境是否已经安装,如发现系统自带的,先卸载-& ...

  2. 使用Python Django在Ubuntu下搭建数据库型网站

    最近想做一个数据库网站,我对Python很熟悉,也了解到Django很好用,于是说搞就搞. 首先,在快云上买了一个vps,一元试用一个月,Ubuntu系统. 1.安装Django apt-get up ...

  3. centos环境下创建数据库和表的方法

    centos环境下创建数据库和表的方法 //查询数据库的命令: mysql> SHOW DATABASES; +--------------------+ | Database         ...

  4. Linux下MySQL数据库主从同步配置

    说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...

  5. 【RAC】rac环境下的数据库备份与还原

    [RAC]rac环境下的数据库备份与还原 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~ ...

  6. GreenDao 数据库:使用Raw文件夹下的数据库文件以及数据库升级

    一.使用Raw文件夹下的数据库文件 在使用GreenDao框架时,数据库和数据表都是根据生成的框架代码来自动创建的,从生成的DaoMaster中的OpenHelper类可以看出: public sta ...

  7. 【MySQL】花10分钟阅读下MySQL数据库优化总结

    1.花10分钟阅读下MySQL数据库优化总结http://www.kuqin.com2.扩展阅读:数据库三范式http://www.cnblogs.com3.my.ini--->C:\Progr ...

  8. ASP.NET Web API路由系统:Web Host下的URL路由

    ASP.NET Web API提供了一个独立于执行环境的抽象化的HTTP请求处理管道,而ASP.NET Web API自身的路由系统也不依赖于ASP.NET路由系统,所以它可以采用不同的寄宿方式运行于 ...

  9. SQL Server 2008 R2 下移动数据库的存储位置

    使用场景:1. 该数据库增长的较大,存储磁盘空间不足:   2. 在特定情况下该数据库需要移动到另外一块磁盘上(呵呵...我的情况就是之前的磁盘要还给别人) 步骤: 1. 新建查询 SELECT na ...

随机推荐

  1. STM32中断系统

    1.中断介绍:    1.1 中断概念 CPU执行程序时,由于发生了某种随机的事件(外部或内部),引起CPU暂 时中断正在运行的程序,转去执行一段特殊的服务程序(中断服务子程序 或中断处理程      ...

  2. 关于设备与canvas画不出来的解决办法

    连续四天解决一个在三星手机上面画canvas的倒计时饼图不出来的问题,困惑了很久,用了很多办法,甚至重写了那个方法,还是没有解决,大神给的思路是给父级加 "overflow: visible ...

  3. springboot返回统一接口与统一异常处理

    springboot返回统一接口与统一异常处理 编写人员:yls 编写时间:2019-9-19 0001-springboot返回统一接口与统一异常处理 简介 创建统一的返回格式 Result 封装统 ...

  4. redis集群节点重启后恢复

    服务器重启后,集群报错: [root@SHH-HQ-NHS11S nhsuser]# redis-cli -c -h ip -p 7000ip:7000> set cc dd(error) CL ...

  5. [Bootstrap] Bootstrap学习笔记

    1.因为bootstrap用到了html5的特性,为了正常使用,需要在最开头加上<!DOCTYPE html> 2.Bootstrap需要JQuery才能正常工作,所以需要导入jquery ...

  6. 设置Ubuntu下vim缩进为4个空格

    输入命令编辑vim配置文件: sudo vim /etc/vim/vimrc 文件中添加如下: 保存退出即可

  7. 正则表达式 第五篇:C# 正则元字符

    本文整理C#正则表达式的元字符,正则表达式是由字符构成的表达式,每个字符代表一个规则,表达式中的字符分为两种类型:普通字符和元字符.普通字符是指字面含义不变的字符,按照完全匹配的方式匹配文本,而元字符 ...

  8. 力扣(LeetCode)2的幂 个人题解

    给定一个整数,编写一个函数来判断它是否是 2 的幂次方. 示例 1: 输入: 1 输出: true 解释: 20 = 1 示例 2: 输入: 16 输出: true 解释: 24 = 16 示这题是考 ...

  9. shell脚本1——变量 $、read、``

    与Shell变量相关的几个命令: 变量只在当前Shell中生效. source 这个命令让脚本影响他们父Shell的环境(. 可以代替source命令) export 这个命令可以让脚本影响其子She ...

  10. 视频抓取利器you-get

    本文链接:https://github.com/soimort/you-get/wiki/%E4%B8%AD%E6%96%87%E8%AF%B4%E6%98%8E You-Get 乃一小小哒命令行程序 ...