为什么我不能使用javascript进行正确的SQL / PHP查询?

时间:2012-04-03 16:34:40

标签: php javascript

我正在尝试查询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
      }

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

2 个答案:

答案 0 :(得分:4)

您明确引用变量字符串:

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

所以你要发送

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

(注意单引号)

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

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

答案 1 :(得分:1)

"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'"

观看引号。