[英]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);
while ($row = mysql_fetch_assoc($result)) {
echo $row["sales_product_id"];
}
看一眼
注意
不鼓励使用此扩展名。 相反,应使用MySQLi或PDO_MySQL扩展。 另请参见MySQL:选择API指南和相关的FAQ,以获取更多信息。 此功能的替代方法包括:
尝试这个,
$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.