我想用php mysqli制作一个插入函数。 但在我执行insert函数之前,我需要检查表中的值是否存在。我的价值是一个数组。我真的不知道该怎么做。
检查员将检查
'".$item['no_pol']."'
,'".$item['date']."'
,'".$item['time']."'
当该值存在时,插入函数将无法运行。
这是我刚才制作的代码。当我帮我一个例子时,我将不胜感激。
<?php
include("../../Connections/koneksi.php");
if(isset($_POST['table-bordered'])){
$array=json_decode($_POST['table-bordered'],true);
foreach($array as $item) {
$sql = "INSERT INTO wjm (sloc,kode,nama,no_pol,id,date,netto,uses,unit,payroll,time) VALUES ('".$item['sloc']."', '".$item['kode']."', '".$item['nama']."', '".$item['no_pol']."', '".$item['id']."', '".$item['date']."', '".$item['netto']."', '".$item['Unit']."', '".$item['uses']."', '".$item['payroll']."', '".$item['time']."')";
if(mysqli_query($db, $sql)){
echo "Records inserted successfully.";
} else{
echo "Records inserted failed ";
}
}
}else{
false;
}
?>
&#13;
答案 0 :(得分:0)
只需运行查询并使用行计数来确定它是否存在: 选择每列唯一的选择列,例如员工ID号列表,执行id = 231231。
如果没有什么是唯一的,那么您可以尝试使用多个关键条件的WHERE,但不建议这样做。
foreach($array as $item){
$sql = "SELECT no_pol, date, time from wjm WHERE no_pol = ? AND date = ? AND time = ?";
// some unique combination
if($stmt = $db->prepare($sql)){
$stmt->bind_param("sss",$item['no_pol'],$item['date'],$item['time']);
$stmt->execute()
$stmt->store_result();
$rows = $stmt->num_rows;
$stmt->fetch();
$stmt->close();
}
if($rows == 0){
//do your insert
}else{
//don't insert and say record exists
}
}
答案 1 :(得分:0)
您必须运行SELECT查询,该查询返回记录计数,因此,如果数据库表中不存在记录,则表示SELECT查询返回0表示COUNT将为0,当 COUNT == 0 时那时你必须执行你的INSERT查询,如下所示:
<?php
include("../../Connections/koneksi.php");
if(isset($_POST['table-bordered'])){
$array=json_decode($_POST['table-bordered'],true);
foreach($array as $item) {
$sql_query = "Select count('*') from wjm where no_pol = '".$item['no_pol']."' AND date = '".$item['date']."' AND time = '".$item['time']."'";
if($result = mysqli_query($db, $sql_query)){
$count = mysqli_num_rows($result);
/** Check the count of returned records **/
if($count == 0){
$sql = "INSERT INTO wjm (sloc,kode,nama,no_pol,id,date,netto,uses,unit,payroll,time) VALUES ('".$item['sloc']."', '".$item['kode']."', '".$item['nama']."', '".$item['no_pol']."', '".$item['id']."', '".$item['date']."', '".$item['netto']."', '".$item['Unit']."', '".$item['uses']."', '".$item['payroll']."', '".$item['time']."')";
if(mysqli_query($db, $sql)){
echo "Records inserted successfully.";
} else{
echo "Records inserted failed ";
}
}
}
}
}else{
false;
}
?>
希望它对你有用。