gpt4 book ai didi

javascript - 2 SQL 查询。两者都独立工作。当我一起执行它们时,第一个查询的结果变量为空。为什么?

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:46 24 4
gpt4 key购买 nike

我已经成功地将两个变量从 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);

然后对于 dataTwo:

$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() 发帖,而是使用 .post() 或使用 $_GET 向您传递变量,例如

    $("#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);

关于javascript - 2 SQL 查询。两者都独立工作。当我一起执行它们时,第一个查询的结果变量为空。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33941060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com