php - 将列值从 Select 查询传递到另一个查询以在 PHP 中插入

标签 php mysql

我正在考虑将以下内容作为 PHP 多查询来完成。但我想弄清楚如何将列值从选择查询传递到插入和更新查询。

$query = "SELECT tbl_links.link, link_id
                    FROM tbl_links
                    INNER JOIN tbl_items ON tbl_links.item_id = tbl_items.item_id
                    WHERE tbl_items.item_name like '".$items_name[$counter]."'
                                    AND NOT EXISTS (
                                            select link_id 
                                            from tbl_clickedlinks 
                                            where tbl_clickedlinks.link_id = tbl_links.link_id
                                            AND tbl_clickedlinks.cust_id = '$items_custID[$counter]'
                                            )
                    limit 0, 1;" ;
            $query .= "INSERT INTO tbl_claimedlinks (cust_id, link_id, claim_time) VALUES ('$items_custID', $row['link_id'], NOW()) ;";
            $query .= "UPDATE tbl_links SET click_count = click_count+1 where link_id = '$linkID' ;";*/

问题是,我不确定如何将 link_id 值传递给其他查询。所以我在想我可能不得不将查询重新排列成一个,但同样,我只是不确定如何实现它。

有人有什么建议吗?

最佳答案

您需要先执行选择查询,然后使用其输出执行第二和第三个查询。

$query = "SELECT tbl_links.link, link_id
                    FROM tbl_links
                    INNER JOIN tbl_items ON tbl_links.item_id = tbl_items.item_id
                    WHERE tbl_items.item_name like '".$items_name[$counter]."'
                                    AND NOT EXISTS (
                                            select link_id 
                                            from tbl_clickedlinks 
                                            where tbl_clickedlinks.link_id = tbl_links.link_id
                                            AND tbl_clickedlinks.cust_id = '$items_custID[$counter]'
                                            )
                    limit 0, 1;" ;

$result = mysql_query($query);

while($row = mysql_fetch_array($result)) {
  $query2 = "INSERT INTO tbl_claimedlinks (cust_id, link_id, claim_time) VALUES ('$items_custID', $row['link_id'], NOW()) ;";
  $query3 = "UPDATE tbl_links SET click_count = click_count+1 where link_id = '$linkID' ;";*/

  mysql_query($query2);
  mysql_query($query3);
}

关于php - 将列值从 Select 查询传递到另一个查询以在 PHP 中插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16743742/

相关文章:

javascript - 服务器发送的事件在 Firefox 中一次后不起作用

php - 如何在codeigniter中从动态表插入多个数据到mysql

php - 在运行长 mysql 语句时输出文本

php - 示例简单的 PHP MVC 项目

mysql - 如何删除mysql中的DB?

PHP 循环内函数内的函数 :S

mysql - 我从 mysql join 查询得到错误的结果

php - 使用 for 循环组合 PHP 优化 MYSQL 查询 while 循环输出

php - 使用ajax jquery从数据库中获取数据

mysql - 如何正确使用 AES_ENCRYPT?