[英]How to write to database with condition?
我是PHP的新手,有条件写入数据库时遇到问题。 我有变量数组。 我需要将值1的变量保存到数据库中。 其他一些变量的值可以为0或5,正如我所说的,也可以为1。
带有变量的数组:
<?php session_start();
$qA01_1 = $_SESSION['qA01_1'];
$qA01_2 = $_SESSION['qA01_2'];
$qA01_3 = $_SESSION['qA01_3'];
$qA01_4 = $_SESSION['qA01_4'];
$qA01_5 = $_SESSION['qA01_5'];
$qA02_1 = $_SESSION['qA02_1'];
$qA02_2 = $_SESSION['qA02_2'];
$qA02_3 = $_SESSION['qA02_3'];
$qA02_4 = $_SESSION['qA02_4'];
$qA02_5 = $_SESSION['qA02_5'];
$qA03_1 = $_SESSION['qA03_1'];
$qA03_2 = $_SESSION['qA03_2'];
$qA03_3 = $_SESSION['qA03_3'];
$qA03_4 = $_SESSION['qA03_4'];
$qA03_5 = $_SESSION['qA03_5'];
$qA04_1 = $_SESSION['qA04_1'];
$qA04_2 = $_SESSION['qA04_2'];
$qA04_3 = $_SESSION['qA04_3'];
$qA04_4 = $_SESSION['qA04_4'];
$qA04_5 = $_SESSION['qA04_5'];
$qA05_1 = $_SESSION['qA05_1'];
$qA05_2 = $_SESSION['qA05_2'];
$qA05_3 = $_SESSION['qA05_3'];
$qA05_4 = $_SESSION['qA05_4'];
$qA05_5 = $_SESSION['qA05_5'];
?>
这是我尝试在有条件的情况下写入数据库(不起作用):
$connect = mysqli_connect('localhost', 'root', 'pass', 'database');
$varValue = 1;
$values = [];
foreach([1,2,3,4,5] as $index) {
if(['$qA01_'.$index] == 1) {
$values[] = "('$qA01_{$index}')";
};
}
$query = "INSERT INTO table ($varValue) VALUES ". implode(',',$values);
mysqli_query($connect, $query);
您能帮我提供正确的代码吗?
现在我想拥有三个桌子。 第一个用于值1“ tableOK”,第二个用于值5“ tableNOK”,第三个类似信息表“ tableinfo”。
对于新结构,假定默认情况下字段的值为0:
$connect = mysqli_connect('localhost', 'root', 'pass', 'database');
if (mysqli_connect_errno())
echo "Error connection: (" . mysqli_connect_errno().")";
$values = [];
$fields = [];
for($i=1;$i<=30;$i++)
{
foreach([1,2,3,4,5] as $index)
{
if(${'qA'.str_pad($i, 2, "0", STR_PAD_LEFT).'_'.$index} == 1)
{
$values[] = ${'qA'.str_pad($i, 2, "0", STR_PAD_LEFT).'_'.$index};
$fields[] = 'qA'.str_pad($i, 2, "0", STR_PAD_LEFT).'_'.$index;
}
}
}
$query = "INSERT INTO tableOK(".implode(',',$fields).") VALUES (". implode(',',$values).")";
if( ! mysqli_query($connect, $query))
{
echo "Error query: ".mysqli_error($connect)
}
这将检查所有$qA01_...
至$qA30_...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.