我有以下查询:
$query_q_pass = sprintf("SELECT * FROM answers INNER JOIN users WHERE a_id = %s and answers.user_id = users.user_id");
$q_pass = mysql_query($query_q_pass, $cd) or die(mysql_error());
$row_q_pass = mysql_fetch_assoc($q_pass);
现在,上面查询的答案表有一行brand_url,其中有许多用逗号分隔的不同值,例如dell、microsoft、hp、 ...
我想要做的是从brand_url行中选择所有这些值并将它们添加到另一个查询中,我将在其中提取存在于brand_url中的所有品牌。这是另一个查询:
$query_conn_brands = 'SELECT * FROM brands WHERE brand_url = 'VALUE FROM ABOVE QUERY'';
$conn_brands = mysql_query($query_conn_brands, $cd) or die(mysql_error());
$row_conn_brands = mysql_fetch_assoc($conn_brands);
$totalRows_conn_brands = mysql_num_rows($conn_brands);
我尝试了许多使用数组的不同方法,但我得到的只是品牌表中的所有结果。这是我最后一次失败的尝试:
$brand_pass_ids = $row_q_pass['brand_id'];
$array = array($brand_pass_ids,);
$query_conn_brands = 'SELECT * FROM brands WHERE brand_url IN (' . implode(',', array_map('intval', $array)) . ')';
$conn_brands = mysql_query($query_conn_brands, $cd) or die(mysql_error());
$row_conn_brands = mysql_fetch_assoc($conn_brands);
$totalRows_conn_brands = mysql_num_rows($conn_brands);
从上面的示例中,我得到的只是品牌表中的所有结果,而不仅仅是答案表中存在的结果。我真的希望有人能帮助我解决这个问题。
非常感谢!