我有两个表:一个是hostgroup_host,另一个是hostgroups。 hostgroups代表所有主机组的名称,并具有3个重要值(hostgroup_id,name和别名)。 hostgroup_host在组和主机之间建立连接,并具有两个值(hostgroup_id和host_id)。
例:
hostgroup_id = 1
和host_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((从hostgroups中选择hostgroup_id,其中name ='$ hostgroup'),(SELECT 来自主机的host_id,其中name ='$ name'))“; 的mysql_query($查询);
mysql_close(); ?>
为什么不起作用?
答案 0 :(得分: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);
但我担心我可能完全误解了你的问题......
答案 1 :(得分:0)
好吧,只需加入你的插入语句: 类似的东西:
INSERT INTO TABLE_A (id,name,alias);
INSERT INTO TABLE_B (id,name);
;在mysql中分离命令, 所以基本上当你运行查询时,两个insert语句都会运行。
答案 2 :(得分: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>
然后只插入帖子值