Php 如何对每条记录执行sql查询
我想根据前面运行的查询结果向数据库插入一些数据Php 如何对每条记录执行sql查询,php,mysql,Php,Mysql,我想根据前面运行的查询结果向数据库插入一些数据 // ------DEFINE ATTACHMENT-------- $sqlText['attachment']="SELECT issues.`subject`, issue_relations.issue_from_id, issue_relations.issue_to_id
// ------DEFINE ATTACHMENT--------
$sqlText['attachment']="SELECT
issues.`subject`,
issue_relations.issue_from_id,
issue_relations.issue_to_id,
issues.id,
attachments.filename,
attachments.digest,
attachments.id
FROM
issues
INNER JOIN issue_relations ON issues.id = issue_relations.issue_to_id
OR issues.id = issue_relations.issue_from_id
INNER JOIN attachments ON issue_relations.issue_to_id = attachments.container_id
OR issue_relations.issue_from_id = attachments.container_id
WHERE
issue_from_id = $myPage
OR issue_to_id = $myPage
GROUP BY
digest";
$sqlQuery_MainMenu = mysql_db_query($db, $sqlText['attachment'], $baglanti) or die("error");
while($mm_Content=mysql_fetch_array($sqlQuery_MainMenu)){
// ------MAKE ATTACHMENT--------
$myValue=$mm_Content['id'];
$sqlText['attach']="INSERT INTO attachments (
container_id,
container_type,
filename,
disk_filename,
filesize,
content_type,
digest,
downloads,
author_id,
created_on,
description,
disk_directory
) SELECT
$value,
container_type,
filename,
disk_filename,
filesize,
content_type,
digest,
downloads,
author_id,
created_on,
description,
disk_directory
FROM
attachments
WHERE
attachments.id = $myValue";
$sqlQuery_MainMenu = mysql_db_query($db, $sqlText['attach'], $baglanti) or die("error");
}
现在这里是交易$mm_内容['id']代码>帮助我找到需要添加的记录数。
并使附件部件将数据插入数据库。除非只有一条记录需要插入,否则一切正常。
但是$mm_内容['id']代码>大部分时间返回多条记录。在这种情况下,上面的代码只得到最新的一个。然而,当我在mysql内部运行查询时,它显示的记录比预期的多
为了解决这个问题,我尝试制作一个$mm_内容['id']数组代码>但它不起作用(我可能无法让它运行)。它也只带来了一个最新的记录
我想相应地运行makeattachmentpart从$mm_Content['id'返回的记录代码>
我的意思是,如果有四条记录,那么为每个$mm_内容['id']运行插入for次代码>记录
我该怎么做呢。
期待您宝贵的帮助。
关于。您如何看待子查询
$sqlText['attach']="INSERT INTO attachments (
container_id,
container_type,
filename,
disk_filename,
filesize,
content_type,
digest,
downloads,
author_id,
created_on,
description,
disk_directory
) SELECT
$value,
container_type,
filename,
disk_filename,
filesize,
content_type,
digest,
downloads,
author_id,
created_on,
description,
disk_directory
FROM
attachments
WHERE
attachments.id in
(
SELECT attachments.id
FROM
issues
INNER JOIN issue_relations ON issues.id = issue_relations.issue_to_id
OR issues.id = issue_relations.issue_from_id
INNER JOIN attachments ON issue_relations.issue_to_id = attachments.container_id
OR issue_relations.issue_from_id = attachments.container_id
WHERE
issue_from_id = $myPage
OR issue_to_id = $myPage
GROUP BY
digest
)";
$sqlQuery_MainMenu = mysql_db_query($db, $sqlText['attach'], $baglanti) or die("error");
这就是我做的,不是吗?我想是的,你需要试试看!成功了,非常感谢你的宝贵帮助。祝你过得愉快。