我有三列要使用php插入数据。代码将运行三次。
我想在第一次运行代码时只在第1列上插入,而其他列保持空。
如果第二次运行时只插入第2列,而另一列为空
等等。我已经尝试了下面的代码,但无法让它工作。它只插入列1
<?php
error_reporting(0);
include('db.php');
$result = $db->prepare('SELECT * FROM rec');
$result->execute(array());
while ($row = $result->fetch())
{
//$id = $row['id'];
$column1 = $row['column1'];
$column2 = $row['column2'];
$column3 = $row['column3'];
}
if ($column1 ==''){
echo 'empty';
$statement = $db->prepare('INSERT INTO rec(column1)
values(:column1)');
$statement->execute(array(':column1' =>'$column1'));
} elseif ($column2 ==''){
echo 'empty2';
$statement = $db->prepare('INSERT INTO rec (column2)
values(:column2)');
$statement->execute(array(':column2' =>'$column2'));
} elseif ($column3==''){
echo 'empty3';
$statement = $db->prepare('INSERT INTO rec(column3)
values(:column3)');
$statement->execute(array(':column3' =>'$column3'));
}
2条答案
按热度按时间7lrncoxx1#
首先,它不是一种合适的数据库设计方法。
第二,只使用if语句而不是嵌套的if-else语句,这样就可以了!
62lalag42#
您的if-else导致正确的数据没有正确插入。使用下面的代码,这将解决你的目的在你的方式。然而,你所遵循的方式是不正确的。您可以按照常规方法创建数据库并将值插入其中,也可以对表使用动态字段并以另一种方式插入。