Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 我应该使用什么查询来获取订单id而不是票证id?_Php_Mysql - Fatal编程技术网

Php 我应该使用什么查询来获取订单id而不是票证id?

Php 我应该使用什么查询来获取订单id而不是票证id?,php,mysql,Php,Mysql,我在一个管理员面板上工作,我需要管理员删除和编辑订单。现在我得到了这个问题: <?php $results = db_getData("SELECT *, tickets.price FROM orders INNER JOIN tickets") ?> 预期输出是来自订单的所有数据,只有来自tickets表的价格(订单id从25开始计算)。我得到的输出是

我在一个管理员面板上工作,我需要管理员删除和编辑订单。现在我得到了这个问题:

<?php 
$results = db_getData("SELECT *, tickets.price 
                         FROM orders 
                         INNER JOIN tickets") 
?>
预期输出是来自订单的所有数据,只有来自tickets表的价格(订单id从25开始计算)。我得到的输出是:

在MySQL中,连接、交叉连接和内部连接是语法等价物(它们可以相互替换)。在标准SQL中,它们不是等价的。内部联接与ON子句一起使用,否则使用交叉联接

现在,您有一个交叉连接-票证和订单的每个组合,不管该票证是否属于该订单

您需要执行以下操作:

SELECT *, tickets.price 
FROM orders 
INNER JOIN tickets ON (orders.ticket_id = tickets.id)
或者可能更好

SELECT orders.*, tickets.price 
FROM orders 
INNER JOIN tickets ON (orders.ticket_id = tickets.id)

请添加示例数据和预期的输出。@juergend检查最近的编辑请使用包装函数,如
db_getData
,通常是一个坏兆头。这支持占位符值吗?@tadman我知道,但这是学校的要求。。。。它确实支持占位符值,但问题不在于函数本身,而在于检查,因为如果这是生产代码,那么真正糟糕的事情就是这样发生的。希望这次作业顺利。谢谢你@dave这对我来说很好!
SELECT orders.*, tickets.price 
FROM orders 
INNER JOIN tickets ON (orders.ticket_id = tickets.id)