Php 为什么会赢';不能插入到表中吗?

Php 为什么会赢';不能插入到表中吗?,php,mysql,Php,Mysql,这是我为mysql数据库添加用户的代码,我真的不知道为什么它不会提交它 <?php include 'includes/header.php'; ?> <?php if (isset($_post['submit'])) { $ime_priimek = $_post['ime_priimek']; $spol = $_post['spol']; $razred = $_post['razred'];

这是我为mysql数据库添加用户的代码,我真的不知道为什么它不会提交它

    <?php include 'includes/header.php'; ?>
<?php 
    if (isset($_post['submit'])) {
        $ime_priimek = $_post['ime_priimek'];
        $spol = $_post['spol'];
        $razred = $_post['razred'];
        $slika = $_post['slika'];
        $sql = mysqli_query($con, "INSERT INTO uporabniki (ime_priimek, spol, razred, slika) VALUES ('". $ime_priimek ."' , '". $spol ."' , '". $razred ."' , '". $slika ."' , )" or die(mysql_error()));
        echo "Dodan";
    } else {
        echo "Ni dodan";
    }
 ?>
<div class="container main">
    <div class="row">
        <div class="col-lg-8">
            <div class="panel panel-primary">
              <div class="panel-heading">Dodaj uporabnika</div>
              <div class="panel-body">
                <form role="form" action="admin.php?g=miha" method="post" accept-charset="utf-8">
                  <div class="form-group">
                    <label for="ime_priimek">Ime in priimek:</label>
                    <input type="text" name="ime_priimek" class="form-control" id="ime_priimek" placeholder="Andrej Novak">
                  </div>
                  <div class="form-group">
                    <label for="spol">Spol:</label>
                    <input type="text" name="spol" class="form-control" id="spol" placeholder="Moški">
                  </div>
                  <div class="form-group">
                    <label for="razred">Razred:</label>
                    <input type="text" name="razred" class="form-control" id="razred" placeholder="2. Mb">
                  </div>
                  <div class="form-group">
                    <label for="slika">Slika:</label>
                    <input type="text" name="slika" class="form-control" id="slika" placeholder="https://fbcdn-sphotos-c-a.akamaihd.net/hphotos-ak-ash3/1391614_10200902760433385_105742999_n.jpg">
                  </div>
                  <button class="btn btn-primary" name="submit" type="submit">Dodaj</button>
                </form>
              </div>
            </div>
        </div>


首先,
$\u POST
是一个大写字母,必须是这样的
$\u POST

您的邮件都是小写的
$\u post

我还注意到,在您发布的代码中没有
$con
的DB凭据

你需要做一些事情来影响:

$con=mysqli_connect("xxx_host", "xxx_user", "xxx_password");
mysqli_query($con, "INSERT INTO uporabniki (ime_priimek, spol, razred, slika) VALUES 
('". $ime_priimek ."' , '". $spol ."' , '". $razred ."' , '". $slika ."' )" or die(mysql_error()));
“$slika.”,“


您也可以尝试以下方法:

$mysql_hostname = 'xxx';
$mysql_username = 'xxx';
$mysql_password = 'xxx';
$mysql_dbname = 'xxx';

$con= new PDO("mysql:host=$mysql_hostname;dbname=$mysql_dbname", $mysql_username, $mysql_password); 

$sql = $con->prepare("INSERT INTO uporabniki (ime_priimek, spol, razred, slika) VALUES (?, ? ,? ,?)");
$sql->bindParam(1, $ime_priimek);
$sql->bindParam(2, $spol);
$sql->bindParam(3, $razred);
$sql->bindParam(4, $slika);
$sql->execute();

您的代码中有几个错误

$\u post
?除非您自己声明,否则PHP只有
$\u post

我想这就是为什么你的插入不起作用的基本原因,不过,还有更多

您正在从客户端发送值,并直接在SQL查询中运行它们。这是一个错误的举动。也许您想了解它的原理以及如何防止它


另外,我看不出
mysql\u error()
对您有什么帮助,因为您正在使用MySQLi。请尝试
MySQLi\u error()

您需要将$\u post改为大写。例如:

<?php 
    if (isset($_POST['submit'])) {
        $ime_priimek = $_POST['ime_priimek'];
        $spol = $_POST['spol'];
        $razred = $_POST['razred'];
        $slika = $_POST['slika'];
        $sql = mysqli_query($con, "INSERT INTO uporabniki (ime_priimek, spol, razred, slika) VALUES ('". $ime_priimek ."' , '". $spol ."' , '". $razred ."' , '". $slika ."' , )" or die(mysql_error()));
        echo "Dodan";
    } else {
        echo "Ni dodan";
    }
 ?>

每次设置查询的格式都很好。如果您已经设置了查询的格式,那么您应该看到最后还有一个查询

$query = "INSERT INTO uporabniki (ime_priimek, spol, razred, slika)";
$query .= " VALUES ('". $ime_priimek ."','". $spol ."','". $razred ."','". $slika ."')";
$sql = mysqli_query($con, $query) OR die("ERROR: ".mysqli_error());

你得到了什么错误?顺便说一句,你的代码很容易被SQL注入。检查这个“…”、“$slika.”、“…”最后删除,然后这也没有帮助。它通过没有任何错误,但不会插入database@user2912934
中还有一个逗号$slika.“,
@user2912934并咨询@user2912934您的
$con
在哪里?它在您的
标题中吗?php
?@user2912934我在我的答案中添加了一些内容,因为您发布的代码中没有任何DB凭据,“如果“是这样的。非常确定OP需要用于这个。嗯,这只是一个insert语句。为什么需要多个查询?因为
$query.=
上的连接,但是查询是一个,而不是链接显示的两个。共有2个选择。这里我们只有一个INSERT语句,这是因为
$query=
$query.=
使用2
$query
需要
mysqli\u multi\u query
-查看文档