gpt4 book ai didi

PHP提交时不会将sql数据发送到数据库?

转载 作者:行者123 更新时间:2023-11-29 11:39:23 26 4
gpt4 key购买 nike

我是 PHP 新手,我正在制作一个插入函数,它将把 html 输入插入到我的 Sql 数据库中,但当我提交时,什么也没有发生,也没有信息输入到数据库中。任何关于如何将输入的信息提交到数据库的帮助将不胜感激。

<html>
<head>

</head>
<body>

<div align = "center">


<form method = "POST" class="basic-grey">
<h1><i>Insert</i></h1>
<label>Title :<input type = "text" name="title"/></label>
<label>Content :<input type = "text" name="content"/></label>
<label>User :<input type = "text" name="user"/></label>

<label><input type = "submit" value = "submit"/></label>
</form>

<div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error ?></div>

</div>
</html>
<?php

include_once 'db_config.php';

session_start();
if (!(isset($_SESSION['login_user']) && $_SESSION['login_user'] != '')) {

header ("Location: login2.php");

}


if(isset($_POST["submit"])) {



$title = $_POST['title'];
$content = $_POST['content'];
$user = $_POST['user'];

$sql = "INSERT INTO 'diary' ('ID', 'TITLE', 'CONTENT', 'USER')
VALUES (NULL, '$title','$content', '$user',)";

if ($conn->query($sql) === TRUE) {
header("location: results.php");
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
$conn->close();


?>

最佳答案

您的脚本无法运行,因为您没有任何名为“submit”的内容可供 if(isset($_POST["submit"])) { 进行测试。通过命名您的提交按钮来解决这个问题:

<label><input type="submit" name="submit" value="submit"/></label>

一旦单击,按钮的名称将出现在 $_POST 数组中。

<小时/>

此外:session_start() 应该位于 PHP 开始标记之后。

Your script is at risk for SQL Injection Attacks.了解 prepared PDO 的声明和 MySQLi并考虑使用 PDO,it's really pretty easy .

您的错误检查将显示您引用了而不是反引号的表和列名称,并且您有一个额外的逗号。按如下方式更改插入查询:

$sql = "INSERT INTO `diary` (`ID`, `TITLE`, `CONTENT`, `USER`) VALUES (NULL, '$title','$content', '$user')";

关于PHP提交时不会将sql数据发送到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36069311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com