Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从多行中选择某些列_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 从多行中选择某些列

Php 从多行中选择某些列,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我试图根据订单ID选择用户从我的网站购买的所有产品 $orderid = mysql_query("SELECT MAX(orders_id) FROM orders") or die(mysql_error()); $orderid = mysql_fetch_row($orderid); $productinfo = mysql_query("SELECT products_model, products_name, products_price, products_quantity FR

我试图根据订单ID选择用户从我的网站购买的所有产品

$orderid = mysql_query("SELECT MAX(orders_id) FROM orders") or die(mysql_error());
$orderid = mysql_fetch_row($orderid);

$productinfo = mysql_query("SELECT products_model, products_name, products_price, products_quantity FROM orders_products WHERE orders_id=" . $orderid[0]);
$productinfo = mysql_fetch_row($productinfo);

echo $productinfo[0] . "&nbsp;&nbsp;|&nbsp;&nbsp;" . $productinfo[1] . "&nbsp;&nbsp;|&nbsp;&nbsp;$" . $productinfo[2] . "&nbsp;&nbsp;|&nbsp;&nbsp;" . $productinfo[3] . "<br><br>";
$orderid=mysql\u查询(“从订单中选择MAX(订单id))或die(mysql\u error());
$orderid=mysql\u fetch\u行($orderid);
$productinfo=mysql\u查询(“从订单中选择产品\u型号、产品\u名称、产品\u价格、产品\u数量,其中orders\u id=“.$ORDERDID[0]);
$productinfo=mysql\u fetch\u行($productinfo);
echo$productinfo[0]。"  |  " . $productinfo[1]。"  |  $" . $productinfo[2]。"  |  " . $productinfo[3]。“

”;
这将从数据库中提取一个产品,但如果客户订购了8个项目,我需要循环此项,直到选择了订单ID为$orderid[0]的所有产品。最好的办法是什么?感谢您的帮助

有几件事

首先,这里的每个人都会告诉您使用mysqli或pdo作为mysql_查询的替代方案,因为它们更安全,而且实际上更易于维护和使用

见本文:

其次,通过编写更高效的查询,您可以轻松地减少代码

在这种情况下,您可能希望使用SQL连接。(有关连接的更多信息,请参见此处)

这将为您提供针对每个订单id订购的所有产品


并使用while循环遍历查询产生的所有结果

考虑使用参数化语句。见PDO。事实上,您的代码容易受到SQL注入的攻击。
    SELECT products_model, products_name, products_price, products_quantity 
    FROM orders_products as products
    JOIN orders as orders on products.order_id = order.order_id
    WHERE products.order_id = {whatever order id you are trying to find}