Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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
输入表单不';无法保存在phpmyadmin中_Php_Html_Mysql - Fatal编程技术网

输入表单不';无法保存在phpmyadmin中

输入表单不';无法保存在phpmyadmin中,php,html,mysql,Php,Html,Mysql,我是PHP新手。我的输入表单没有在MySQL数据库中保存任何内容,但每次我按下提交按钮时,它都会显示“register=success”, 即使它没有插入到我的数据库中,也没有在任何行中显示任何错误 index.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev

我是PHP新手。我的输入表单没有在MySQL数据库中保存任何内容,但每次我按下提交按钮时,它都会显示“register=success”, 即使它没有插入到我的数据库中,也没有在任何行中显示任何错误

index.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>

        <link rel="stylesheet" href="css/style.css">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css">
    </head>

    <body>
        <div class="container">
            <form id="BG" class="col-lg-8" action="includes/register.php" method="POST">
                <div class="form-group">
                    <label for="formGroupExampleInput">Firstname</label>
                    <input type="text" class="form-control col-lg-6" id="formGroupExampleInput" placeholder="Firstname" name="fName">
                </div>
                <div class="form-group">
                    <label for="formGroupExampleInput2">Lastname</label>
                    <input type="text" class="form-control col-lg-6" id="formGroupExampleInput2" placeholder="Lastname" name="lName">
                </div>
                <div class="form-group">
                    <label for="formGroupExampleInput">Plate #</label>
                    <input type="text" class="form-control col-lg-6" id="formGroupExampleInput" placeholder="Plate #" name="plateNo">
                </div>
                <div class="form-group">
                    <label for="formGroupExampleInput2">Vehicle brand</label>
                    <input type="text" class="form-control col-lg-6" id="formGroupExampleInput2" placeholder="Vehicle brand" name="vBrand">
                </div>
                <div class="form-group">
                    <label for="formGroupExampleInput">color</label>
                    <input type="text" class="form-control col-lg-6" id="formGroupExampleInput" placeholder="color" name="color">
                </div>
                <button type="submit" name="submit" class="btn btn-primary">Register</button>

            </form>

        </div>
    </body>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.slim.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</html>

文件
名字
姓氏
盘子#
汽车品牌
颜色
登记
conn.php

<?php
    $dbSname='localhost';
    $dbUname ='root';
    $pwd='';
    $dbName = 'capstone';

    $conn = mysqli_connect($dbSname,$dbUname,$pwd,$dbName);


我希望我的输入将数据保存到MySQL数据库。

首先,您需要知道在运行查询时是否发生错误。因此,我建议您更改.php脚本以处理异常,如下所示:

<?php
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    try {
        //start of your code
        $host = "localhost";
        $user = "root";
        $pass = "";
        $db = "capstone";        
        $conn = new mysqli($host,$user,$pass,$db);        
        $sql = "INSERT INTO register(name,lastname,Plateno,vehiclebrand,color)
                            VALUES($fname,$lName,$plateNo,$vBrand,$color);";

        $conn->query($sql);
        //end of your code
    }
    catch(mysqli_sql_exception | Exception $e){ 
        $error="Error #".$e->getCode()." ".$e->getMessage().PHP_EOL;

        if(isset($conn) && get_class($e) == "mysqli_sql_exception")
            $error.="SQLSTATE #".$conn->sqlstate." SQL: $sql".PHP_EOL;

        $error.=$e->getTraceAsString();
        echo(nl2br($error));    
    }
    finally {
        if(isset($result) && $result instanceof mysql_result)
            $result->free();

        if(isset($conn) && is_resource($conn) && get_resource_type($conn) === 'mysql link')
            $conn->close();
   }
?>

一旦出现错误,您可以编辑问题并与他人分享


在您可以解决您的问题之后,我建议您看看这个问题:,因为尽早了解如何避免SQL注入非常重要,这是一个令人担忧的安全问题

首先,您需要知道在运行查询时是否发生了错误。因此,我建议您更改.php脚本以处理异常,如下所示:

<?php
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

    try {
        //start of your code
        $host = "localhost";
        $user = "root";
        $pass = "";
        $db = "capstone";        
        $conn = new mysqli($host,$user,$pass,$db);        
        $sql = "INSERT INTO register(name,lastname,Plateno,vehiclebrand,color)
                            VALUES($fname,$lName,$plateNo,$vBrand,$color);";

        $conn->query($sql);
        //end of your code
    }
    catch(mysqli_sql_exception | Exception $e){ 
        $error="Error #".$e->getCode()." ".$e->getMessage().PHP_EOL;

        if(isset($conn) && get_class($e) == "mysqli_sql_exception")
            $error.="SQLSTATE #".$conn->sqlstate." SQL: $sql".PHP_EOL;

        $error.=$e->getTraceAsString();
        echo(nl2br($error));    
    }
    finally {
        if(isset($result) && $result instanceof mysql_result)
            $result->free();

        if(isset($conn) && is_resource($conn) && get_resource_type($conn) === 'mysql link')
            $conn->close();
   }
?>

一旦出现错误,您可以编辑问题并与他人分享

在您可以解决您的问题之后,我建议您看看这个问题:,因为尽早了解如何避免SQL注入非常重要,这是一个令人担忧的安全问题

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

}

我想你应该检查一下按钮是否已设置好。如果这不能回答您的问题,请发送数据库信息以便我检查。

如果(isset($\u POST['submit'])){

}


我想你应该检查一下按钮是否已设置好。如果这不能回答您的问题,请发送数据库信息,以便我检查。

我发现include_曾经是我的问题,因为它不必在同一文件夹中“include/”。很好,您解决了它!请随意使用我共享的代码来处理脚本中的mysqli错误,如果您想联机,请查看SQL注入问题。再次使用thnks mate!!我发现include_曾经是我的问题,因为它在同一个文件夹中“includes/”不是必需的好你解决它!请随意使用我共享的代码来处理脚本中的mysqli错误,如果您想联机,请查看SQL注入问题。再次使用thnks mate!!我的问题是关于includes_曾经的“includes/conn.ph”。我不应该把“includes/”放在“conn.ph”的同一个文件夹中,但是非常感谢你的建议。我也没办法:/我的问题是“includes”\u曾经的“includes/conn.ph”。我不应该把“includes/”放在“conn.ph”的同一个文件夹中,但非常感谢您的建议。我无法帮助:/
$fname=$_POST['fName'];
$lName=$_POST['lName'];
$plateNo=$_POST['plateNo'];
$vBrand=$_POST['vBrand'];
$color=$_POST['color'];