php中未将数据插入mysql数据库

php中未将数据插入mysql数据库,php,mysql,Php,Mysql,数据库连接,但不将数据插入表 数据库名称学校 表格名称表格 通过使用此insert查询$sql=“insert into form(name,gender)Values('jany','female')”,数据成功插入mysql sql控制台 也不显示数据 <?php $con=mysqli_connect("localhost","root","","school"); if(mysqli_connect_errno()){ echo "failed".mysqli_conne

数据库连接,但不将数据插入表

数据库名称学校 表格名称表格

通过使用此insert查询
$sql=“insert into form(name,gender)Values('jany','female')”,数据成功插入mysql sql控制台

也不显示数据

 <?php
$con=mysqli_connect("localhost","root","","school");
if(mysqli_connect_errno()){
    echo "failed".mysqli_connect_error();

}

if(isset($_POST['submit'])){
$name=$_POST['name'];
$gender=$_POST['gender'];
$sql="insert into form(name,gender) Values('".$name."','".$gender."')";
if(!mysqli_query($con,$sql)){
    die('error'.mysqli_error($con));

}
    else echo "data added";
}

mysqli_close($con);
?>


<html><head></head>
    <body>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="">
        Name : <input type=text name=name ><br>
        Last Name : <input type=text name=gender ><br>
        <input type=submit name=submit value=add ><br>
    </body>
</html>

您确实应该切换到prepared语句来解决您现在的sql注入问题,但您当前的问题是由于您没有执行
POST
请求,因此
if(isset($\u POST['submit']){
将始终返回
false

过账表单的默认方法是
GET
,因此将其更改为:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

FYI,你完全可以接受。这也可能是你问题的原因。2014年,人们仍然在MySQL查询中发布$\u帖子……这太神奇了。难怪每年有超过一百万个网站被破坏。@Havenard那么我们现在用什么呢?在表单元素周围加上一些引号,lordie。另外,表单默认为无方法获取,更改
method=“”
method=“post”
阅读。。。