PHP IF 语句 returns While 循环中只有一次真值
PHP IF statement returns true value only once in While Loop
这是我 PHP 的第一步,因为我没有在工作中使用它。我想准备将数据添加到数据库 tables 的表格。
我准备了这段代码:
<?php
require "init.php";
$marina_id=$_POST["marina_id"];
$b_cor=$_POST["b_cor"];
$size=$_POST["size"];
$available_place=$_POST["available_place"];
$l_cor=$_POST["l_cor"];
$is_open=$_POST["is_open"];
$description=$_POST["description"];
$sql= "insert into marinas (marina_id, b_cor, l_cor, size, available_place, is_open, description) values('$marina_id', '$b_cor', '$l_cor', '$size', '$available_place', '$is_open', '$description');";
if (mysqli_query($con, $sql))
{
echo "values were added";
} else {
echo "values were not added";
}
$count = 0;
while ($count<$size)
{
if ($count<$available_place) {
$isavailable = 1;
$accesscode = "";
} else {
$isavailable = 0;
$accesscode = "abcdefgh";
}
$dock_id=(string)$marina_id."0".(string)$count;
$nullObject="";
$sql2= "insert into places (
place_id,
b_cor, l_cor,
is_available,
plan,
depth,
width,
length,
description,
marina_id,
access_code,
reserved_from,
reserved_to,
last_update) values (
'$dock_id',
'$b_cor',
'$l_cor',
'$isavailable',
'$nullObject',
'$nullObject',
'$nullObject',
'$nullObject',
'$nullObject',
'$marina_id',
'$accesscode',
'$nullObject',
'$nullObject',
'$nullObject');";
if (mysqli_query($con, $sql2)) //$con comes from init.php
{
echo "complete.";
} else {
echo "something wrong with data.";
}
$count = $count+1;
}
?>
我的想法是在 marinas table 中插入一行数据,然后根据它的 "size" 值向位置 table 添加额外的数据行,次数为 size 值的倍数.我使用了 while 循环,但我的 $sql2 returns 的 IF 语句只出现一次,我不知道为什么会这样。对我来说,代码逻辑似乎没问题,并且添加了一些数据。对于像我这样的解决方案,PHP 是否有任何限制?
请检查place_id是否为自增键。也许它可能是错误的,因为它违反了密钥的唯一性。
这是我 PHP 的第一步,因为我没有在工作中使用它。我想准备将数据添加到数据库 tables 的表格。 我准备了这段代码:
<?php
require "init.php";
$marina_id=$_POST["marina_id"];
$b_cor=$_POST["b_cor"];
$size=$_POST["size"];
$available_place=$_POST["available_place"];
$l_cor=$_POST["l_cor"];
$is_open=$_POST["is_open"];
$description=$_POST["description"];
$sql= "insert into marinas (marina_id, b_cor, l_cor, size, available_place, is_open, description) values('$marina_id', '$b_cor', '$l_cor', '$size', '$available_place', '$is_open', '$description');";
if (mysqli_query($con, $sql))
{
echo "values were added";
} else {
echo "values were not added";
}
$count = 0;
while ($count<$size)
{
if ($count<$available_place) {
$isavailable = 1;
$accesscode = "";
} else {
$isavailable = 0;
$accesscode = "abcdefgh";
}
$dock_id=(string)$marina_id."0".(string)$count;
$nullObject="";
$sql2= "insert into places (
place_id,
b_cor, l_cor,
is_available,
plan,
depth,
width,
length,
description,
marina_id,
access_code,
reserved_from,
reserved_to,
last_update) values (
'$dock_id',
'$b_cor',
'$l_cor',
'$isavailable',
'$nullObject',
'$nullObject',
'$nullObject',
'$nullObject',
'$nullObject',
'$marina_id',
'$accesscode',
'$nullObject',
'$nullObject',
'$nullObject');";
if (mysqli_query($con, $sql2)) //$con comes from init.php
{
echo "complete.";
} else {
echo "something wrong with data.";
}
$count = $count+1;
}
?>
我的想法是在 marinas table 中插入一行数据,然后根据它的 "size" 值向位置 table 添加额外的数据行,次数为 size 值的倍数.我使用了 while 循环,但我的 $sql2 returns 的 IF 语句只出现一次,我不知道为什么会这样。对我来说,代码逻辑似乎没问题,并且添加了一些数据。对于像我这样的解决方案,PHP 是否有任何限制?
请检查place_id是否为自增键。也许它可能是错误的,因为它违反了密钥的唯一性。