2017-08-30 56 views
-1

它的工作,但是当我将数据添加到我的数据库时,数据将两次。我不知道我的语法是错误的还是我的代码错误。插入数据由PHP和MySQL

这里的结构:

+2

可能是因为你在'while'中执行查询,可能是因为你的逆变运行了两次相同的值 – scaisEdge

+2

。 – DontVoteMeDown

+0

@DontVoteMeDown我该怎么办?我不知道如何改变这一点。 –

回答

0

你越来越多刀片,因为你是在$reservations循环每个记录。如果您预期只有一项记录预订,您应该首先了解为什么要获取多条记录。

这且不说,通过免去您while循环改变你的代码:

if(isset($_POST['submitBtn']) && $row = mysqli_fetch_array($reservation)){ 

    if($row['reservefrom'] == $checkin) die("Same Date"); 

    $lastname = $_POST['text_lastname']; 
    $firstname = $_POST['text_firstname']; 
    // ... other values, then execute your query 

}else{ 
    // either submitBtn was not posted or no result were found in $reservation 
} 

我注意到还有你在你的代码中使用return,但代码似乎并没有成为一个函数中,这样的困惑。如果它在一个函数中,那么从内部开始echo可能是个坏主意,除非该函数专门用于直接向浏览器发送数据。