繁体   English   中英

PHP循环通过SQL结果

[英]php loop through sql result

我有一个名为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'];
........

while循环中执行mysql_fetch_assoc

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

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

var_dump($rows);

使用mysql_fetch_assoc

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

看一眼

mysql_fetch_array();

注意

不鼓励使用此扩展名。 相反,应使用MySQLi或PDO_MySQL扩展。 另请参见MySQL:选择API指南和相关的FAQ,以获取更多信息。 此功能的替代方法包括:

mysqli_fetch_array()

PDOStatement对象::获取()

尝试这个,

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

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

检查这一。

$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

}

这样的事情应该起作用,这将为您提供您请求的格式(未经测试):

while($row = mysql_fetch_assoc($result)) {
    $sales_product[] = $row;
}

由于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文档。
谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM