php - 使用两个或多个查询从 MySQL 收集信息以检索数据集

标签 php mysql group-concat

我正在尝试从 mysql 中的表中获取信息以显示精选的热门产品,到目前为止我已经提出了以下代码,但并不高兴:

$sql2 = "SELECT GROUP_CONCAT(session_id) AS session_group FROM counter WHERE unique_id = '$unique_id'";
$rs2 = mysql_query($sql2,$con);

while($row2 = mysql_fetch_array($rs2)) {
"<p>";
$session_group = str_replace(",",", ", $row2['session_group']);
"</p>";
}

echo $sql3 = "SELECT unique_id, product_name FROM counter WHERE session_id IN ( ".var_export($session_group, true)." )";
$rs3 = mysql_query($sql3,$con);

while($row3 = mysql_fetch_array($rs3)) {
echo "<p>";
echo $row3['product_name'] . "<br />";
echo $row3['unique_id'] . "<br />";
echo $row3['hit_count'] . "<br />";
echo "</p>";
}

第一个查询运行良好并显示所需的结果,但第二个查询根本不显示任何内容,尽管我确信在那里可以找到信息。

我一整天都在寻找答案,并且已经在网站上寻求帮助,但还没有完全弄清楚如何让它发挥作用。任何帮助将不胜感激,我将在早上查看回复。

非常感谢!

科斯塔

最佳答案

var_export($session_group, true) 是问题所在

你有:

SELECT unique_id, product_name FROM counter WHERE session_id IN ( 'upbnqxP57, upbnqxP57, upbnqxP57, upbnqxP57, upbnqxP57, upbnqxP57, upbnqxP57, upbnqxP57, aoCgRk635, aiEJuVH31, aiEJuVH31, aiEJuVH31, mHIwa0k20, mHIwa0k20' ) 

但你需要:

SELECT unique_id, product_name FROM counter WHERE session_id IN ( 'upbnqxP57', 'upbnqxP57', 'upbnqxP57', 'upbnqxP57', 'upbnqxP57', 'upbnqxP57', 'upbnqxP57', 'upbnqxP57', 'aoCgRk635', 'aiEJuVH31', 'aiEJuVH31', 'aiEJuVH31', 'mHIwa0k20', 'mHIwa0k20' ) 

'upbnqxP57, upbnqxP57' != 'upbnqxP57', 'upbnqxP57'

关于php - 使用两个或多个查询从 MySQL 收集信息以检索数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22392140/

相关文章:

mysql - 使用 Like AND Like - Not Or 调用 object_id 的 SQL 语句

mysql - 在 Access 中使用查询(找到一行中的最大值并显示在新列中)

angularjs - grunt 的 "bower_concat"和 "angular-i18n"的正确使用方法

mysql - 使用 mysql GROUP_CONCAT 和 WHERE

php - Drupal 无法创建新用户,错误 101 或 324

php - MVC,类去哪儿了?

mysql - 如何编写递归 MySQL 查询来连续跟踪项目管理任务记录

php - 如何使用 AJAX 从 php 获取整个数据并将其显示在 html 中

php - 没有获得与 php 中 mysql 数据库中存储的格式相同的格式

mysql - MYSQL 每月总和加上 group_concat