Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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
Php MySQL查询,返回与循环的迭代数值变量关联的变量_Php_Mysql_For Loop_Mysqli_Iteration - Fatal编程技术网

Php MySQL查询,返回与循环的迭代数值变量关联的变量

Php MySQL查询,返回与循环的迭代数值变量关联的变量,php,mysql,for-loop,mysqli,iteration,Php,Mysql,For Loop,Mysqli,Iteration,我试图从数据库中动态返回行,每行的变量都与一个数字命名的变量相关联。我已经能够像下面这样编写代码了,但是有没有一种方法可以用For-Each或类似的东西来做到这一点 $sql1 = "SELECT rate, date FROM MyTable WHERE number='1'"; $result1 = mysqli_query($con,$sql1) or die ("Query error: " . mysqli_error()); while($ro

我试图从数据库中动态返回行,每行的变量都与一个数字命名的变量相关联。我已经能够像下面这样编写代码了,但是有没有一种方法可以用For-Each或类似的东西来做到这一点

$sql1 = "SELECT rate, date FROM MyTable WHERE number='1'";
$result1 = mysqli_query($con,$sql1) or die ("Query error: " . mysqli_error());
while($row1 = mysqli_fetch_assoc($result1)) { 
    $rate1=$row1['rate'];
    $date1=$row1['date'];
}


$sql2 = "SELECT rate, date FROM MyTable WHERE number='2'";
$result2 = mysqli_query($con,$sql2) or die ("Query error: " . mysqli_error());
while($row2 = mysqli_fetch_assoc($result2)) { 
    $rate2=$row2['rate'];
    $date2=$row2['date'];
}
例如:

    $sqlALL = "SELECT rate, date FROM MyTable";

与使用数字变量不同,使用数组使这变得更简单(IMHO)。因此,从表中获取数字并将其用作结果数组的索引

$sql1 = "SELECT number, rate, date FROM MyTable ORDER BY number";
$result1 = mysqli_query($con,$sql1);
$rate = [];
$date = [];
while($row1 = mysqli_fetch_assoc($result1)) { 
    $rate[$row1['number']]=$row1['rate'];
    $date[$row1['number']]=$row1['date'];
}
或者一次按一行索引它们

$sql1 = "SELECT number, rate, date FROM MyTable ORDER BY number";
$result1 = mysqli_query($con,$sql1);
$results = [];
while($row1 = mysqli_fetch_assoc($result1)) { 
    $results[$row1['number']]=$row1;
}

这是阵列更适合的地方。类似于
$rate[$row1['number']]=$row1['rate']你能再详细说明一下吗?我不知道你想要什么。基本上,您希望变量$rateX和$dateX与数据库响应中的值匹配?您有一个错误。需要一个论点。请考虑切换错误模式。如何从中得到$rate1、$date1、$rate2、$date2?您不需要,而是使用
$rate1
而不是
$rate[1]
。所以你有一个变量,用这个数字作为索引。