Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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
MySQL简单/双引号语法问题_Mysql_Sql - Fatal编程技术网

MySQL简单/双引号语法问题

MySQL简单/双引号语法问题,mysql,sql,Mysql,Sql,请为我的问题的基本性道歉,但这让我疯狂了一个多小时。我想通过使用简单的引号而不是双引号来修改下面的sql语句。我试了又试,但没有找到解决办法。提前非常感谢您的回复。干杯马克 我的代码: $result = mysql_query(" SELECT * FROM sorties WHERE srt_date_sortie BETWEEN '$date 00:00:00' AND '$date 23:59:59' "); 我不确定你到底想做什么,因为你的问题不是很清楚,你也没有给出任何期望

请为我的问题的基本性道歉,但这让我疯狂了一个多小时。我想通过使用简单的引号而不是双引号来修改下面的sql语句。我试了又试,但没有找到解决办法。提前非常感谢您的回复。干杯马克

我的代码:

$result = mysql_query("

SELECT * 
FROM sorties 
WHERE srt_date_sortie BETWEEN '$date 00:00:00' AND '$date 23:59:59'

");

我不确定你到底想做什么,因为你的问题不是很清楚,你也没有给出任何期望(比如你尝试了什么,你期望它如何工作,以及它实际如何工作)

在没有内容的情况下,我想试试你想要什么

$result = mysql_query('

    SELECT * 
    FROM sorties 
    WHERE srt_date_sortie BETWEEN \'' . $date . ' 00:00:00\' AND \'' . $date . ' 23:59:59\'

');

我不确定你到底想做什么,因为你的问题不是很清楚,你也没有给出任何期望(比如你尝试了什么,你期望它如何工作,以及它实际如何工作)

在没有内容的情况下,我想试试你想要什么

$result = mysql_query('

    SELECT * 
    FROM sorties 
    WHERE srt_date_sortie BETWEEN \'' . $date . ' 00:00:00\' AND \'' . $date . ' 23:59:59\'

');

您可以在中轻松更改查询

SELECT * 
FROM sorties
WHERE DATE(srt_date_sortie) = $date

您可以在中轻松更改查询

SELECT * 
FROM sorties
WHERE DATE(srt_date_sortie) = $date
  • 我倾向于发现日期比较有问题,所以我使用to_DAYS函数将它们更改为整数,这样就消除了任何格式问题以及将日期与日期时间字段进行比较的问题

  • MySQL查询也使用双引号,因为MySQL使用单引号作为字符串限定符

  • 虽然PHP可以在一个文本中连接字符串变量,但为了可读性,我更喜欢显示连接

  • $date变量需要在其周围加一个引号,以将其标记为日期字符串

  • 最后查询:

    $result = mysql_query("SELECT * 
    FROM sorties 
    WHERE TO_DAYS(srt_date_sortie) = TO_DAYS('".$date."')");
    
  • 我倾向于发现日期比较有问题,所以我使用to_DAYS函数将它们更改为整数,这样就消除了任何格式问题以及将日期与日期时间字段进行比较的问题

  • MySQL查询也使用双引号,因为MySQL使用单引号作为字符串限定符

  • 虽然PHP可以在一个文本中连接字符串变量,但为了可读性,我更喜欢显示连接

  • $date变量需要在其周围加一个引号,以将其标记为日期字符串

  • 最后查询:

    $result = mysql_query("SELECT * 
    FROM sorties 
    WHERE TO_DAYS(srt_date_sortie) = TO_DAYS('".$date."')");
    

    索尔斯滕:我认为OP可以在查询开始和结束时使用双引号,而不在中间插入其他引号。我错过了什么吗?:)你好对不起,没有详细的解释。我需要使用interferstation作为$date作为“Y-m-d”作为格式,而在我的数据库中,日期格式是“Y-m-d H:I”。所以这个日期(srt_DATE_出击)在那个特殊的情况下不适合我…不,我认为它很好,只是尝试一下。我想你需要在SQL stings中引用日期。@Thorsten:我现在不能尝试,但我很确定你可以使用YYYY-MM-DD格式而不加引号……我刚刚尝试过。它不起作用。无论如何,谢谢马珂。@托斯滕:我认为OP可以在查询开始和结束时使用双引号,而不在中间插入其他的引号。我错过了什么吗?:)你好对不起,没有详细的解释。我需要使用interferstation作为$date作为“Y-m-d”作为格式,而在我的数据库中,日期格式是“Y-m-d H:I”。所以这个日期(srt_DATE_出击)在那个特殊的情况下不适合我…不,我认为它很好,只是尝试一下。我想你需要在SQL stings中引用日期。@Thorsten:我现在不能尝试,但我很确定你可以使用YYYY-MM-DD格式而不加引号……我刚刚尝试过。它不起作用。谢谢你,马可,你好,洛克费斯特。谢谢你的帮助。我的想法是,我需要将该代码合并到一个更大、更复杂的sql语句中,该语句以单引号开头。这就是为什么我需要找到一种方法来转换我的陈述。所以这正是你需要的。你好,rockfest。谢谢你的帮助。我的想法是,我需要将该代码合并到一个更大、更复杂的sql语句中,该语句以单引号开头。这就是为什么我需要找到一种方法来改变我的陈述,所以这正是你们所需要的。