Php 显示日期格式ted数据尚未工作的内部联接ed数据

Php 显示日期格式ted数据尚未工作的内部联接ed数据,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我正在为一个客户开发一个工单系统。数据通过管理面板输入,如客户端、类别和说明。数据库设置为记录更新的和创建的信息 最初,键入了类别(数据库表是VARCHAR),当查询数据库时,所有信息都会正确显示在主页上 查询: $sql = 'SELECT *, DATE_FORMAT(wo_updated,"%m/%d/%Y") AS updated, DATE_FORMAT(wo_created, "%m/%d/%Y") AS created FROM work_orders

我正在为一个客户开发一个工单系统。数据通过管理面板输入,如
客户端
类别
说明
。数据库设置为记录
更新的
创建的
信息

最初,键入了
类别
(数据库表是
VARCHAR
),当查询数据库时,所有信息都会正确显示在主页上

查询:

$sql = 'SELECT *,
    DATE_FORMAT(wo_updated,"%m/%d/%Y") AS updated,
    DATE_FORMAT(wo_created, "%m/%d/%Y") AS created
    FROM work_orders
    ORDER BY wo_id ASC';
$result = $conn->query($sql) or die(mysqli_error($conn));
$numRows = $result->num_rows;
这非常有效,可以显示
客户端
说明
类别
以及
更新的
创建的
信息,例如这两个信息显示为
10/07/2013

然后,我在管理面板中添加了一个部分,允许在DB中输入和存储类别,以便在输入新工单时,您可以从预设的类别列表中进行选择,以保持事情看起来平滑一致

这是新的查询,无日期格式代码:

$sql = 'SELECT *, cat_name
    FROM work_orders INNER JOIN categories
    ON work_orders.wo_category = categories.cat_id
    ORDER BY wo_id ASC';
$result = $conn->query($sql) or die(mysqli_error($conn));
$numRows = $result->num_rows;
这非常有效,可以显示
客户端
说明
类别
类别
,现在从
类别
数据库表调用,现在是
INT

但正如您所注意到的,我在第二个查询中没有
DATE\u格式
-ted代码,因为我每次尝试将两者结合起来都会导致语法错误。我可以做一个或另一个,但我还不能将显示
DATE\u FORMAT
-ted
Updated
Created
信息的两个查询与
work\u orders
表中的
cat\u name
信息结合起来

我尝试过子查询和各种各样的JOIN命令尝试,但到目前为止,我仍然无法克服MySQLi语法错误。显然,这里有一些东西我需要学习,经过几个小时的反复试验,在大量研究的基础上,我陷入了困境。如果您能为解决这个问题提供任何帮助,我们将不胜感激。这可能非常简单。谢谢

更新:

这是我尝试过的导致语法错误的一种方法:

$sql = 'SELECT *, cat_name
    DATE_FORMAT(wo_updated,"%m/%d/%Y") AS updated,
    DATE_FORMAT(wo_created, "%m/%d/%Y") AS created
    FROM work_orders INNER JOIN categories
    ON work_orders.wo_category = categories.cat_id
    ORDER BY wo_id ASC';
$result = $conn->query($sql) or die(mysqli_error($conn));
$numRows = $result->num_rows;
进一步更新:

我希望我能说,丢失的逗号以前没有咬过我,丢失的逗号是罪魁祸首!谢谢你@SergeyRonin、@denlau、@JMS786,你的逗号没问题。也谢谢你的代码建议,我不知道正确答案应该归功于谁,因为你们都有

SELECT 
    wo.*, 
    c.cat_name,
    DATE_FORMAT(wo.`wo_updated`,"%m/%d/%Y") AS updated,
    DATE_FORMAT(wo.`wo_created`, "%m/%d/%Y") AS created
FROM work_orders wo
INNER JOIN categories c ON wo.`wo_category` = c.`cat_id`
ORDER BY wo.`wo_id` ASC

另外,在您的代码中,
cat\u name
之后缺少逗号,因此这可能也是您出现错误的原因。

在第一行的“cat\u name”之后缺少逗号。您的查询应如下所示:

    SELECT 
        w.wo_updated as wo_updated,
        w.wo_created as wo_updated,
        c.cat_name as cat_name,
        DATE_FORMAT(w.wo_updated,"%m/%d/%Y") AS updated,
        DATE_FORMAT(w.wo_created, "%m/%d/%Y") AS created
    FROM 
        work_orders w
    INNER JOIN 
        categories c
        ON 
            w.wo_category = c.cat_id
    ORDER BY 
        w.wo_id ASC
好吧,我给了这些表格一些较短的名字——如果你想用的话,你可以随意选择。 此外,我显式调用了SELECT语句中需要的字段。这是由于这样一种想法,即您应该只获得您需要的确切信息。:)


希望这能有所帮助。

您错过了逗号“,”在cat_名称和DATE_格式之间…

您能显示您尝试使用DATE_格式的列和内部联接的查询吗?@SergeyRonin已更新,请参见上文。谢谢你能提供语法错误吗?