为什么可以't我使用javascript进行正确的SQL/PHP查询

Why can't I make a proper SQL/PHP query using javascript?

本文关键字:SQL 查询 PHP javascript 为什么      更新时间:2023-09-26

我正在尝试对SQL数据库进行查询,但我不明白为什么我的代码不能工作。当我调用javascript函数时:

function calledfunction(){
var date = new Date(document.getElementById("datetime1").value);
var dateformat = "'"+date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate() + " " + date.getHours() +":" + date.getMinutes()+"'";
        alert("Value is: " + dateformat);
                microAjax("genjsonphp.php?stdt="+dateformat, function(data) {
                     //edited out
      }

我收到警报:值为:"2011-12-6 0:0"

当我复制警报中的值并粘贴它时,上面的代码变成:

function calledfunction(){
var date = new Date(document.getElementById("datetime1").value);
var dateformat = "'"+date.getFullYear() + "-" + (date.getMonth()+1) + "-" + date.getDate() + " " + date.getHours() +":" + date.getMinutes()+"'";
        alert("Value is: " + dateformat);
dateformat = '2011-12-6 0:0';
                microAjax("genjsonphp.php?stdt="+dateformat, function(data) {
                     //edited out
      }

然后代码工作正常。有人知道出了什么问题吗?

您显式引用变量字符串:

 "'"+date.getFullYear() ...

所以你要发送

genjsonphp.php?stdt='2011-12-6 0:0'

(注意单引号)

在您发送的第二种情况下:

genjsonphp.php?stdt=2011-12-6 0:0

"genjsonphp.php?stdt="+'2011-12-6 0:0'解析为:"genjsonphp.php?stdt=2011-12-6 0:0""genjsonphp.php?stdt="+dateformat解析为:"genjsonphp.php?stdt='2011-12-6 0:0'"

注意引号。