【问题标题】:I have a problem with "ADD" and "INSERT" functions in database我对数据库中的“ADD”和“INSERT”函数有疑问
【发布时间】:2019-01-10 11:16:25
【问题描述】:

我想问你,我该如何修复这个代码?我对数据库中的“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错误,然后它插入到我的数据库中。我认为有代码错误,但我不知道在哪里。

【问题讨论】:

标签: php html mysql database


【解决方案1】:

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

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

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

希望这会有所帮助!:)

【讨论】:

  • code $sql = 'INSERT INTO about_me (about) VALUES ('.$apie.')'; code 但这对我没有帮助。我有一个带有数据库连接的单独文件,并在那里引用 $conn。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-08
  • 1970-01-01
  • 1970-01-01
  • 2019-11-11
相关资源
最近更新 更多