php - 我在数据库中遇到 "ADD"和 "INSERT"函数的问题

标签 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>

我检查了mysql错误,有https://www.w3schools.com/php/func_mysqli_error.asp ,然后它插入我的数据库中。我认为有代码错误,但我不知道哪里。

最佳答案

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

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

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

希望这有帮助!:)

关于php - 我在数据库中遇到 "ADD"和 "INSERT"函数的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54127511/

相关文章:

php - Mysql 查询显示项目两次

html - 如果输入框超出字符限制,则显示 span 标记消息

html - 如何使用 CSS 格式化 HTML 以进行列布局

mysql - 在 MySQL 中创建 EVENT 时出错

mysql - 对 MySQL 使用 UTF-8

mysql - 从sql语句中获取特定的列

php - 在外部(非 WP)脚本中包含 WordPress 导航

php - 通过 HTML 链接调用 PHP 函数(无形式)

php - OpenAI GPT-3 API 错误 : "You didn' t provide an API key. 您需要使用 Bearer auth 在授权 header 中提供您的 API key ”

php - 通过 PHP 发送包含 CSS 样式表的 HTML 电子邮件