gpt4 book ai didi

php - 使用php循环遍历mysql表,为什么elseif语句不起作用?

转载 作者:行者123 更新时间:2023-11-30 01:19:27 25 4
gpt4 key购买 nike

我有一组页面,它们采用两个边界(来自用户输入),这会产生一个值,然后将其放入 mysql 表中。然后将该值用作边界,重复该过程,创建一个新值并将其添加到 SQL 表中。

现在,这个过程有一个精确的顺序,我尝试使用 if/else if 语句来对它们进行排序:

$result = mysql_query("SELECT * FROM partitions 
WHERE subject_id = $subject_id AND stimulus = $stimulus", $DB);

if(!result) {
die("Database query failed: " . mysql_error());}

while ($row = mysql_fetch_array($result)){

if($row[6] == NULL){

$query1 = "UPDATE partitions SET t_1_2 = $t_half WHERE subject_id = $subject_id AND stimulus = $stimulus";
mysql_query($query1) or trigger_error(mysql_error()." in ".$query1);

$target_page = "pan00";
$next_t_a = $row[2]; // from user input
$next_t_b = $t_half; // can i replace $t_half by $row[6]?

}


elseif($row[4] == NULL)
{

$query1 = "UPDATE partitions SET t_1_4 = $t_half WHERE subject_id = $subject_id AND stimulus = $stimulus";
mysql_query($query1) or trigger_error(mysql_error()." in ".$query1);

$target_page = "pan00";
$next_t_a = $row[2];
$next_t_b = $row[4]; }


elseif($row[3] == NULL)
{

$query1 = "UPDATE partitions SET t_1_8 = $t_half WHERE subject_id = $subject_id AND stimulus = $stimulus";
mysql_query($query1) or trigger_error(mysql_error()." in ".$query1);

$target_page = "CE";
$next_t_a = $row[4];
$next_t_b = $row[6]; }

我认为使用 else if 语句会检查条件是否为真,如果是,则只会执行括号中的代码并跳过循环,但这里 $row[6] 和 $row[4] 都会在同时。这与我设置用于获取行值的 while 循环有关吗?

我尝试使用 goto 和 break 但没有成功。

问题出在 while 循环中(感谢那些指出它的人),这让我想到了下一个问题:如果没有这个 while 循环,我如何使用 mysql 数据?删除它会使页面崩溃,就好像 php 没有存储结果一样?

最佳答案

当不再有可用行时,while 语句将停止。如果您在 PHP 中的 while 循环中表达赋值,只要变量有效(而不是 NULL),条件就会被视为 true 。否则循环将结束。

关于php - 使用php循环遍历mysql表,为什么elseif语句不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710911/

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