这对我来说真的很难,我试图将我在mysql中的表中的多行存储到单个变量中
$mysql_statementJc = "SELECT * FROM `dog`.`cat` WHERE `name` = '$name'";
$mysql_commandJc = mysql_query($mysql_statementJc);
while($row = mysql_fetch_array($mysql_commandJc)){
$followI = $row['industry'];
$groupConcat = $followI . " OR ";
echo $groupConcat;
}
这是我的appproach,所以最后我可以得到" sam,john,bob"保存为$ groupConcat,然后可以在其他地方使用。
非常感谢。
答案 0 :(得分:3)
你想创建一个连接字符串,php有.=
语法:
$groupConcat='';
while($row = mysql_fetch_array($mysql_commandJc)){
$groupConcat .= $row['industry'] . " OR ";
}
echo $groupConcat; //no point echoing inside the loop
有时更好的方法是使用数组和implode()
$groupConcat=array();
while($row = mysql_fetch_array($mysql_commandJc)){
$groupConcat[] = $row['industry'];
}
echo implode(' OR ',$groupConcat);
答案 1 :(得分:2)
每次循环时,将所需的值添加到数组中。然后,在循环之后,使用implode()函数创建所需的输出。
while($row = mysql_fetch_array($mysql_commandJc)){
$followI = $row['industry'];
$resultArray[] = $followI;
}
$groupConcat = implode(" OR ", $resultArray);
echo $groupConcat;
答案 2 :(得分:0)
你也可以这样做:
$followl = array();
while($row = mysql_fetch_array($mysql_commandJc))
{
$followl[] = $row['industry'];
}
$groupConcat = implode(" OR ",$followl);
echo $groupConcat;
一些解释:
将值存储到数组$followl
中,然后使用implode()
函数将 OR 进行内爆。
旁注:
请使用mysqli_*
或PDO
因为mysql_*
已被弃用,在PHP 7中不再提供。