我有一个动态字段,最多有4个输入。
如果我写了数据库中存在的4个输入,我得
input0 company // $num0
"error" = $num1
input1 company // $num2
"error" = $num3
input2 company // $num4
"error" = $num5
input3 company // $num6
但如果数据库中不存在,则第一次输入的顺序会更改为,因为没有播放时间
"error" = $num0
input1 company // $num1
and the order is changed....//problem
主要问题是我需要知道数据库中存在的输入是什么。
脚本
function checkEmployeer($db, $form) {
$i=0;
foreach ($form['job'] as $value) {
$sql = $db -> prepare("SELECT `employer` FROM `employer` WHERE employer=?");
$sql -> bind_param('s', $value);
$sql -> execute();
while ($sql -> fetch()) { //problem
${'num'.$i++} = $value; //problem - $num0 = $value if exists in DB
}
${'num'.$i++} = "error"; //problem - $num0 or $num1 = depends of while result...
}
for ($i = 0; $i < sizeof($form['job']); $i++) {
if (${'num'.$i} != "error" && ${'num'.$i} == $form['job'][$i]) {
echo ("already exists in the db".$i);
}
else {
$sql = $db -> prepare("INSERT INTO `database_charts`.`employer` (`employer`) VALUES (?)");
$sql -> bind_param('s', $form['job'][$i]);
$sql->execute();
echo ("insert");
}
}
}
我怎么能解决这个问题?我什么都不知道......
答案 0 :(得分:1)
为雇主创建一个密钥并在不检查任何内容的情况下插入它,affected_rows()会告诉您它是否已被插入。
如果database_charts
,则不会出现重复项。employer
被定义为密钥。