我想要做的是拥有一个由mysql查询构成的变量。我遇到的问题是它需要包含查询中的多行并将它们合并为一行。
目前我有
$lender = mysql_query("Select * from lender where reference = '$reference'");
while($lenderrow=mysql_fetch_array($lender)) {
$lender1 = $lenderrow["lender"] . " " . $lenderrow["lenderref"] . " " . "£" . $lenderrow["amount"]
echo '<br />';
}
所以基本上我希望它采用这种格式,如果它有多行
blackhorse htfhg125h£250
santander htdhfr58hryf£541
测试125452asaed2£760
目前我只获得最后一个结果,当我回显$ lender 1时(显然是因为它是while循环中的最后一次调用)
提前干杯
答案 0 :(得分:0)
只需将echo
放入循环中即可。循环不限于一个语句。
$lender = mysql_query("Select * from lender where reference = '$reference'");
while($lenderrow = mysql_fetch_array($lender)) {
$result = $lenderrow["lender"] . " " . $lenderrow["lenderref"] . " " . "£" . $lenderrow["amount"];
echo $result . "<br />";
}
如果你想在数组中使用它,你也可以使用一个空的while
循环:
$lender = mysql_query("Select * from lender where reference = '$reference'");
$results = array();
while($results[] = mysql_fetch_array($lender)); // Empty loop
此外,如果$reference
是用户提供且未转义,则可能需要注意SQL注入。
答案 1 :(得分:0)
您需要使用其他阵列。
<?php
$lender = mysql_query("Select * from lender where reference = '$reference'");
$formated_lender = array();
while ($lenderrow=mysql_fetch_array($lender)) {
$formated_lender = $lenderrow["lender"] . " " . $lenderrow["lenderref"] . " " . "£" .
$lenderrow["amount"];
}
foreach ($formated_lender as $row)
{
echo $row . '<br />';
}
或者,如果您只想包含所有行的一个变量,请将$lende1 = ...
替换为$lender1 .= ...