运行多个SELECT,INSERT INTO和DELETE

时间:2013-12-29 08:48:19

标签: php mysql

我对PHP非常新。请原谅所有错误。我正在尝试使用下面列出的PHP代码创建AJAX的提交验证,以验证数据库中是否存在变量$_POST['genre']。如果没有,插入,如果确实存在,则删除。然而,它似乎只是插入而不是删除。任何帮助都会很棒! 谢谢,

<?php       
    include('../includes/includes_db_connect.php'); 
    $tbl_name       = "genres";
    $genre          = $_POST['genre'];
    $query          = mysqli_query($con, "SELECT types FROM genres WHERE types = '".$genre."'");
    $row            = mysqli_num_rows($query);

    if ($row > 0){
        echo "delete";
        mysqli_query($con, "DELETE FROM ".$tbl_name." WHERE types = '".$genre."'");     
    } else 
        echo "inserted";    
        mysqli_query($con, "INSERT INTO ".$tbl_name." (types) VALUES ('".$genre."')");              
    mysqli_close($con);
?>  

1 个答案:

答案 0 :(得分:1)

你在else语句中缺少大括号。

使用if else的正确方法是

if {PUT ALL STATEMENT WHICH SHOULD BE EXECUTED IF CONDITION IS STATISFIED} 
else {PUT ALL STATEMENT WHICH SHOULD BE EXECUTED IF CONDITION IS NOT STATISFIED}

如果你不使用{},只会执行一个语句,在你的情况下回显“插入”,插入查询在else语句之外,因此它会一直执行。

因此,即使它正在删除,同时它再次插入,因此行为。