我想问一下,我该如何修复这个代码?我在数据库中使用“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/