1

我有一个名为sales_product列的表

sales_product_id, sales_id, type, class, age

我在 php 中有一个查询说

$sql = "SELECT * from sales_product WHERE sales_id = " . $_GET['sales_id];

假设此查询返回两行。

$result = mysql_query($sql);

如何循环遍历此结果并保存在数组中,以便稍后我可以检索数据,例如

echo $sales_product[$i]['sales_product_id'];
echo $sales_product[$i]['sales_product_id'];
........
4

7 回答 7

5

mysql_fetch_assoc循环执行while

$result = mysql_query($sql);
$rows[] = array();

while ( $row = mysql_fetch_assoc($result) ) {
    echo $row['sales_product_id'];
    $rows[] = $row;
}

var_dump($rows);
于 2012-08-31T06:58:42.353 回答
1

使用mysql_fetch_assoc

while ($row = mysql_fetch_assoc($result)) {
    echo $row["sales_product_id"];
}
于 2012-08-31T06:59:08.467 回答
0

由于 mysql_ 已被宣布弃用,因此我将使用
mysqli_* 扩展名 回答您的问题

//Prepare an SQL statement for execution
$stmt = $mysqli->prepare("SELECT * from sales_product WHERE sales_id = ?");

//bind parameter to the prepared statement      
$stmt->bind_param("i", $_GET['sales_id]);

//execute it 
$stmt->execute();

//store the result  
$result = $stmt->get_result();

//loop through the  result set
while ($myrow = $result->fetch_assoc()) 
{

      $salesIds[]  = $myrow["sales_product_id"];

}

有关更多信息,请参阅 php 文档。
谢谢

于 2012-08-31T07:17:15.073 回答
0

像这样的东西应该可以工作,这将为您提供您要求的格式(未经测试):

while($row = mysql_fetch_assoc($result)) {
    $sales_product[] = $row;
}
于 2012-08-31T07:05:01.403 回答
0

尝试这个,

$result = mysql_query($sql);
while ( $row = mysql_fetch_assoc($result) ) {
    echo $row['columnName'];
}

如果您需要索引,请使用 mysql_fetch_array()

于 2012-08-31T07:01:42.337 回答
0

检查这个。

$sql="SELECT sales_product_id, sales_id, type, class, age From sales_product";
$sales= $db->query($sql);
while($sale = $db->fetchByAssoc($sales))
{
    echo $sales['sales_product_id'];
    echo $sales['type'];
 // here instead echo uyou will add data in your array

}
于 2012-08-31T07:03:27.783 回答
0

看一眼

mysql_fetch_array();

笔记

不鼓励使用此扩展程序。相反,应该使用 MySQLi 或 PDO_MySQL 扩展。另请参阅 MySQL:选择 API 指南和相关的常见问题解答以获取更多信息。此功能的替代方案包括:

mysqli_fetch_array()

PDOStatement::fetch()

于 2012-08-31T06:58:12.847 回答