gpt4 book ai didi

php - 检查整行是否存在

转载 作者:行者123 更新时间:2023-11-29 11:12:18 28 4
gpt4 key购买 nike

我想知道我的代码出了什么问题。我想做的是将数据发布到我的数据库但在插入之前,检查是否存在相等的行,如果存在则显示一条消息..我尝试过:

页面顶部是我的查询:

if(isset($_POST['submitAddEvents'])){

// Verify if the data exists
if(!filter_var($_POST['teamA'] && $_POST['teamB'] && $_POST['eventDate'])){
$stmt = $db->prepare('SELECT * FROM events WHERE teamA = :teamA AND teamB = :teamB AND eventDate = :eventDate');
$stmt->execute(array(
':teamA' => $_POST['teamA'],
':teamB' => $_POST['teamB'],
':eventDate' => $_POST['eventDate'],
));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
}

$statement = $db->prepare("INSERT INTO events(teamA, teamB, eventDate, `time`, live) VALUES (:teamA, :teamB, :eventDate, :timeOfEvent, :live)");
$statement->execute(array(
':teamA' => $_POST['teamA'],
':teamB' => $_POST['teamB'],
':eventDate' => $_POST['date'],
':timeOfEvent' => $_POST['timeOfEvent'],
':live' => $_POST['live'],
));
$id = $db->lastInsertId('ID');
}
?>

这是页面底部的我的脚本:

<script>
//Saving Data
$('#saveButton').click(function(){
var teamA = $('#teamA').val();
var teamB = $('#teamB').val();
var date = $('#date').val();
var timeOfEvent = $('#timeOfEvent').val();
var live = "0";
if($("#live").is(':checked'))
live = $('#live').val();

$.ajax({
url : "<?= $_SERVER['PHP_SELF'] ?>",
type : "POST",
async: false,
data :
{
'submitAddEvents' : 1,
'teamA' : teamA,
'teamB' : teamB,
'date' : date,
'timeOfEvent' : timeOfEvent,
'live' : live,
},
success:function(re)
{
window.location = "addEvents.php";
}
});
});
</script>

但是没有用,数据保存到数据库中并且没有通过ajax提交的任何验证...有人能告诉我这有什么问题吗?有人可以帮我解决这个问题吗?

最佳答案

您获得了现有行$row = $stmt->fetch(PDO::FETCH_ASSOC);,但您没有对其执行任何操作。使用 if ($stmt->rowCount() == 0) 检查行计数是否为零,然后执行其余代码并插入数据。

关于php - 检查整行是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40354356/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com