Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一页面上通过php表单插入mysql数据?_Php_Mysql - Fatal编程技术网

在同一页面上通过php表单插入mysql数据?

在同一页面上通过php表单插入mysql数据?,php,mysql,Php,Mysql,我希望通过位于同一页面上的php代码将php表单中的数据插入mysql数据库 <?php if (isset($_POST['submit'])){ $con=mysqli_connect("localhost","root","********","*********"); $sql="INSERT INTO drafts (id, title, description, post, author, category, declined) VALUES ('','$_POST[title

我希望通过位于同一页面上的php代码将php表单中的数据插入mysql数据库

<?php
if (isset($_POST['submit'])){
$con=mysqli_connect("localhost","root","********","*********");
$sql="INSERT INTO drafts (id, title, description, post, author, category, declined)
VALUES
('','$_POST[title]',$_POST[description],$_POST[post],$_POST[author],$_POST[category],0)";
echo "Droplet Successfully Added!";}
?>

<form action="create-post.php" method="post">
  Title: <br /><input type="text" name="title"><br /><br />
  Description: <br /><textarea name="description"></textarea><br /><br />
  Post: <br /><textarea name="post"></textarea><br /><br />
  Author: <br /><input type="text" name="author"><br /><br />
  Category: <br /><input type="text" name="category"><br /><br />
  <input class="btn btn-info" type="submit" value="Submit for review">
</form>

当前,当用户填写上述表单并单击提交按钮时,表单数据将被发送到名为
create post.PHP
的PHP文件进行处理

现在,如果将
action
属性保留为空,则表单将提交给自身:

<?php
if (isset($_POST['submit'])) {

    $con=mysqli_connect("localhost","root","********","*********");
    $sql="INSERT INTO drafts (id, title, description, post, author, category, declined)
    VALUES
    ('','$_POST[title]',$_POST[description],$_POST[post],$_POST[author],$_POST[category],0)";
    echo "Droplet Successfully Added!";

}
?>

<form action="" method="post">
    Title: <br /><input type="text" name="title"><br /><br />
    Description: <br /><textarea name="description"></textarea><br /><br />
    Post: <br /><textarea name="post"></textarea><br /><br />
    Author: <br /><input type="text" name="author"><br /><br />
    Category: <br /><input type="text" name="category"><br /><br />
    <input class="btn btn-info" type="submit" value="Submit for review">
</form>

  • 将相同页面插入的
    更改为

  • 更正以下查询:
    $sql=“插入草稿(
    title
    description
    post
    author
    category
    谢绝
    )值(“$\u post[title]”,“$\u post[description]”,“$\u post[post]”,“$\post[author]”,“$\post[category]”,0)”

  • 添加此行
    $query=mysqli\u query($con,$sql)


  • 这三个更改可以完成工作,但这不是最佳做法,您正在接受来自易受SQL注入攻击的用户的直接输入。

    请注意,您的代码可能会受到SQL注入攻击。。。最好使用事先准备好的语句!这将不起作用,因为单引号不计算变量。请确保使用字符串连接或双引号(但请删除数据并改用PDO/prepared语句)。