将mysql数据库中的多行存储到一个变量中

时间:2016-02-08 20:46:24

标签: php mysql

这对我来说真的很难,我试图将我在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,然后可以在其他地方使用。

非常感谢。

3 个答案:

答案 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;

请注意,您应该停止使用mysql库,而是使用mysqliPDO

答案 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中不再提供。