我在数据库中的“ ADD”和“ INSERT”功能有问题

时间:2019-01-10 11:16:25

标签: php html mysql database

我想问你,我该如何解决此代码?我在数据库中的“ ADD”和“ INSERT”功能有问题。我只能从数据库中删除,但是“添加和插入”功能不起作用。

这是我的about.php文件。

    $mode = 'add';
$about = '';

if(isset($_GET['edit']) && is_numeric($_GET['edit'])){

    $sql = "SELECT * FROM `about_me` WHERE `about_me`.`id` =".$_GET['edit'];
    $result_about = mysqli_query($conn, $sql);
    if(mysqli_num_rows($result_about) == 1) {
        $mode = 'edit';

        $about = mysqli_fetch_assoc($result_about);
    }
}

$apie = '';    
if(isset($_POST["submit"])){         
    if(isset($_POST["apie"])){           
        $apie = trim($_POST["apie"]);   
    }

}
elseif($mode=='edit') {
    $apie = $about['about'];
}

if($mode=='add') {
    if(($apie!='')){
        $sql = 'INSERT INTO about_me(about)
        VALUES ("'.$apie.'")';
        mysqli_query($conn, $sql);
        header('Location:about.php');
        die();
    }
}
elseif($mode=='edit') {
    if(($apie!='')){
    $sql = "UPDATE `about_me` SET `about` = '".$apie."' WHERE `about_me`.`id` = ".$_GET['edit'];    
    mysqli_query($conn, $sql) ;

    }
}

<..>

            <input type = "text" name = "apie" value = "<?php echo $apie; ?>">

            <br><br>
            <input type = "submit" name = "submit" value = "Gerai">
            <br><br>

我用https://www.w3schools.com/php/func_mysqli_error.asp检查了mysql错误,然后将其插入到我的数据库中。我认为这里有很多代码,但是我不知道在哪里。

1 个答案:

答案 0 :(得分:0)

您的第一个查询有一个小错误,您不能在数据库选择器旁边使用括号,我建议您使用数据库连接创建一个单独的文件,您可以将其称为$conn,第一个查询应如下所示:

    $sql = "INSERT INTO about_me
        VALUES (?)";

此外,您应该查询prepared statements进行查询,而不是直接插入查询,而是使用问号?来绑定参数/参数。这有助于防止SQL注入!

希望这会有所帮助!:)