首页 文章

查询MySQL以连接2个数据库

提问于
浏览
1

我有两个表:一个是hostgroup_host,另一个是hostgroups . hostgroups代表所有主机组的名称,并具有3个重要值(hostgroup_id,name和别名) . hostgroup_host在组和主机之间 Build 连接,并具有两个值(hostgroup_id和host_id) . 示例: hostgroup_id = 1host_id = 3 这表示id为3的主机属于具有 id = 1 (具有特定名称)的主机组 .

我有这个:

$名称= $ _ POST [ '名称']; $别名= $ _ POST [ '别名']; $地址= $ _ POST [ '地址']; $主机组= $ _ POST [ '主机组'];

mysql_connect('localhost:/usr/local/groundwork/mysql/tmp/mysql.sock',$ username,$ password); @mysql_select_db($ database)或die(“无法选择数据库”);

$ query =“INSERT INTO hosts(host_id,name,alias,address,hosttemplate_id)VALUES('','$ name','$ alias','$ address','1'); INSERT INTO hostgroup_host(hostgroup_id,host_id) )VALUES((从主机组中选择hostgroup_id,其中name ='$ hostgroup'),(从主机中选择host_id,其中name ='$ name'))“;的mysql_query($查询);

mysql_close(); ?>

为什么不起作用?

3 回答

  • 0

    好吧,只需加入你的插入语句:类似于:

    INSERT INTO TABLE_A (id,name,alias);
    INSERT INTO TABLE_B (id,name);
    

    的;在我的sql中分离命令,所以基本上当你运行查询时,两个insert语句都将运行 .

  • 0

    我有点困惑,但只使用多个链接资源 .

    $linka = mysql_connect('server1', 'mysql_user', 'mysql_password');
    $linkb = mysql_connect('server2', 'mysql_user', 'mysql_password');
    

    然后用

    $result = mysql_query('INSERT...', $linka);
    

    要么

    $result = mysql_query('INSERT...', $linka);
    

    但我担心我可能完全误解了你的问题......

  • 0

    我是否遗漏了某些东西,或者不会让hostgroup_id和host_id作为下拉列表中的选项值更好?

    <select name="hosts">
      <option value="1">Host 1</option>
      ...
    </select>
    
    <select name="hostgroups">
      <option value="15">Host with 15 as ID</option>
      ...
    </select>
    

    然后只需插入帖子值

相关问题