我编写了一个mysql查询,并使用mysql_fetch_assoc()将结果作为关联数组提取。查询返回两个字段的列表。我使用结果数组循环遍历此字段并提取value.how do我显示两个字段,因为做一个普通的回声对我不起作用?我写的代码是
提前致谢。
$query = "SELECT x,y FROM table";
$result = mysql_query( $query , $resourcelink);
while( $s= mysql_fetch_assoc( $result ) )
{
extract( $s );
echo $x . " - " . $y . "<br />";
}
答案 0 :(得分:1)
我建议不要使用提取物。它使代码很难遵循。
我只是这样做:
$query = "SELECT x,y FROM table";
$result = mysql_query( $query , $resourcelink);
while( $s= mysql_fetch_assoc( $result ) ) {
echo $s['x'], ' - ', $s['y'], '<br/>';
}
答案 1 :(得分:0)
mysql_fetch_assoc返回键值到映射的数组。由于您没有从数据库中检索one
和two
,因此不存在$ 1和$ 2(分别为$s['one']
和$s['two']
)。因此,使用您选择作为键的列来执行此类操作。
$query = "SELECT x,y FROM table";
$result = mysql_query( $query , $resourcelink);
while( $s= mysql_fetch_assoc( $result ) )
{
echo $s['x'] . " - " . $s['y'] . "<br />";
}
或者如果你想继续使用提取物(我不推荐它,它可能导致一些难以追踪的错误)
$query = "SELECT x,y FROM table";
$result = mysql_query( $query , $resourcelink);
while( $s= mysql_fetch_assoc( $result ) )
{
extract($s);
echo $x . " - " . $y . "<br />";
}
答案 2 :(得分:0)
extract
是一种不好的做法,而且你的列可能被称为x和y,而不是一个和两个。
我建议使用以下内容:
echo htmlspecialchars($s['x']), ' - ', htmlspecialchars($s['y']);
答案 3 :(得分:0)
根据您的SELECT语句,mysql_fetch_assoc()返回一个类似array('x'=>something, 'y'=>something)
的数组,extract()将“翻译”为$ x ='something'和$ y ='something',而不是$ 1和$ 2
尝试
error_reporting(E_ALL);
$query = "SELECT x,y FROM table";
$result = mysql_query( $query , $resourcelink) or die(mysql_error());
echo 'there are ', mysql_num_rows($result), " records in the result set\n";
while( false!==($row=mysql_fetch_array($result, MYSQL_ASSOC)) ) {
echo $row['x'], ' ', $row['y'], "\n";
}