Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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
Javascript 2个SQL查询。两人都独立工作。当我一起执行这些操作时,来自第一个查询的结果变量是空的。为什么?_Javascript_Php_Jquery - Fatal编程技术网

Javascript 2个SQL查询。两人都独立工作。当我一起执行这些操作时,来自第一个查询的结果变量是空的。为什么?

Javascript 2个SQL查询。两人都独立工作。当我一起执行这些操作时,来自第一个查询的结果变量是空的。为什么?,javascript,php,jquery,Javascript,Php,Jquery,我已使用以下工具成功地将两个变量从Javascript传递到PHP: $("#element").load("script.php",{dataOne:x,dataTwo:y},function() {alert(y);}); 以下两项独立工作: 首先是dataOne: $date = strval(gmdate("Y-m-d",strtotime($_POST['dataOne']))."T00:00:00"); $query = $dbc->prepare("SELECT NEW_D

我已使用以下工具成功地将两个变量从Javascript传递到PHP:

$("#element").load("script.php",{dataOne:x,dataTwo:y},function() {alert(y);});
以下两项独立工作:

首先是dataOne:

$date = strval(gmdate("Y-m-d",strtotime($_POST['dataOne']))."T00:00:00");
$query = $dbc->prepare("SELECT NEW_DATE, BC_1MONTH, BC_3MONTH, BC_6MONTH, BC_1YEAR, BC_2YEAR, BC_3YEAR, BC_5YEAR, BC_7YEAR, BC_10YEAR, BC_20YEAR, BC_30YEAR  FROM curve WHERE NEW_DATE=?");
$query->bind_param('s',$date);
$query->execute();
$query->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l);
那么对于数据二:

$date = strval(gmdate("Y-m-d",strtotime($_POST['dataTwo']))."T00:00:00");
$query = $dbc->prepare("SELECT NEW_DATE, BC_1MONTH, BC_3MONTH, BC_6MONTH, BC_1YEAR, BC_2YEAR, BC_3YEAR, BC_5YEAR, BC_7YEAR, BC_10YEAR, BC_20YEAR, BC_30YEAR  FROM curve WHERE NEW_DATE=?");
$query->bind_param('s',$date);
$query->execute();
$query->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l);
当我尝试将两者结合起来时,使用以下方法:

$fromDate = strval(gmdate("Y-m-d",strtotime($_POST['dataOne']))."T00:00:00");
$query = $dbc->prepare("SELECT NEW_DATE, BC_1MONTH, BC_3MONTH, BC_6MONTH, BC_1YEAR, BC_2YEAR, BC_3YEAR, BC_5YEAR, BC_7YEAR, BC_10YEAR, BC_20YEAR, BC_30YEAR  FROM curve WHERE NEW_DATE=?");
$query->bind_param('s',$fromDate);
$query->execute();
$query->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l);

$toDate = strval(gmdate("Y-m-d",strtotime($_POST['dataTwo']))."T00:00:00");
$query->bind_param('s',$toDate);
$query->execute();
$query->bind_result($m,$n,$o,$p,$q,$r,$s,$t,$u,$v,$w,$x);
第一个查询有空变量。存储第一次执行结果的最佳方式是什么?最终,它们将进入一个javascript数组,以便在图形中使用

当我让它单独为dataOne工作时,我将结果连接到javascript中,如下所示:

 data: ['.$b.','.$c.','.$d.','.$e.','.$f.','.$g.','.$h.','.$i.','.$j.','.$k.','.$l.']
在执行第二个查询之前,我尝试在PHP中执行它,以避免丢失它。这目前不起作用:

$curve = '['.$b.','.$c.','.$d.','.$e.','.$f.','.$g.','.$h.','.$i.','.$j.','.$k.','.$l.']';

data: '.$curve.'

您不能使用.load use.post生成post,也不能使用$\u GET like传递变量


请求中y的值是多少?x和y都来自jquery日期选择器。11/26/2015. 完全相同的格式。当你说它不起作用时,会发生什么?服务器上是否有错误日志?你能看出请求失败了吗?可能犯了一个相当愚蠢的错误。。只是回顾和编辑的QI尝试了它,它的工作。尝试使用$element.loadscript.php,{'dataOne':x,'dataTwo':y},函数{};。在script.php var_dump$_中发布并检查broswer控制台的输出。x和y都是字符串,对吗?检查关于粘贴数据对象的加载单据:如果数据作为对象提供,则使用POST方法;否则,GET是假定的。但是OP的代码很好,使用:{dataOne:x,dataTwo:y}@A.Wolff检查加载文档关于粘贴数据对象:您在回答中说:您没有使用.load制作帖子,但他说它对$_post['dataOne']有效。问题在别处
    $("#element").load("script.php?dataX="+x+"&dataTwo="+y+" #element");

jquery post  : http://api.jquery.com/jquery.post/
jquery load  : http://api.jquery.com/load/

**EDIT** if you want to use `.load()`

    $( "#element" ).load( "script.php", { "dataOne": x, "dataTwo":y } );

    $date = strval(gmdate("Y-m-d",strtotime($_POST['dataOne']))."T00:00:00");
    $date2 = strval(gmdate("Y-m-d",strtotime($_POST['dataTwo']))."T00:00:00"); //<--- same date
    $query = $dbc->prepare("SELECT NEW_DATE, BC_1MONTH, BC_3MONTH, BC_6MONTH, BC_1YEAR, BC_2YEAR, BC_3YEAR, BC_5YEAR, BC_7YEAR, BC_10YEAR, BC_20YEAR, BC_30YEAR  FROM curve WHERE NEW_DATE=?");
    $query->bind_param('s',$date);
    $query->bind_param('s',$date2); //<--- new query
    $query->execute();
    $query->bind_result($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l);