即使数据库连接成功,PHP CRUD 数据也不会发布

问题描述 投票:0回答:1

我为我的PHP CRUD开发了create函数,数据库连接成功,但是当我发布数据时,它没有执行任何操作。它应该要么说数据已成功发布,要么说有错误。

我有两页:

连接.php:

<?php 
$con = new mysqli('localhost', 'root', '', 'crudoperation');

if(!$con){
    die(mysqli_error($con));
}else{
    echo 'database connection successfully established';
}
?>

和user.php

<?php 
include 'connect.php';

if (isset($_POST['submit'])){ // si on appuye sur submit, poster tous les champs
    $name=$_POST['name'];
    $email=$_POST['email'];
    $mobile=$_POST['mobile'];
    $password=$_POST['password'];

    $sql="insert into `crud` (name, email, mobile, password)
    values('$name','$email','$mobile','$password')";
    $result=mysqli_query($con, $sql);
    if($result){
        echo "Data inserted successfully";
    }else{
        die(mysqli_error($con));
    }
}
?>

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>CRUD PHP</title>
    <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
  </head>
  <body>
    <div class="container my-5">
        <form method="post">
            <div class="mb-3">
                <label>Name</label>
                <input type="text" class="form-control" placeholder="Enter your name" name="name" autocomplete="off">
            </div>
            <div class="mb-3">
                <label>Email</label>
                <input type="email" class="form-control" placeholder="Enter your email" name="email" autocomplete="off">
            </div>
            <div class="mb-3">
                <label>Mobile</label>
                <input type="text" class="form-control" placeholder="Enter your mobile number" name="mobile" autocomplete="off">
            </div>
            <div class="mb-3">
                <label>Password</label>
                <input type="password" class="form-control" placeholder="Enter your password" name="password" autocomplete="off">
            </div>
            <button type="submit" class="btn btn-primary">Submit</button>
        </form>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-0pUGZvbkm6XF6gxjEnlmuGrJXVbNuzT9qBBavbLwCsOGabYfZo0T0to5eqruptLy" crossorigin="anonymous"></script>
  </body>
</html>

可能是什么问题?

我删除了之前的

name="submit"
,它没有向我显示白屏,而是向我显示了与提交之前相同的表单。

php sql crud
1个回答
0
投票

我的错误的答案是我没有激活错误报告。 激活它:

您必须创建一个在代码编辑器中打开的文件并将其命名为 info.php 在里面添加:

<?php

phpinfo();

您将看到一个包含 php 版本的页面和一个包含信息的表格。 在 Mac 上执行 cmd f 或在 Windows 上执行 ctrl f 并搜索

Loaded Configuration File
。您会发现它的值是包含 php.ini 文件的路径。在您的目录中找到它并使用您喜欢的代码编辑器打开该文件。 进入后,我们要在两个地方编辑该文件。首先在 mac 上使用 cmd f/在 windows 上使用 ctrl f 搜索 error_reporting 并确保
error_reporting = E_ALL
。如果不是,请将其替换为正确的值。 然后在 mac 上使用 cmd f/在 windows 上使用 ctrl f 搜索 display_errors 并确保 display_errors = On。如果不是,请将其替换为正确的值。然后重新启动 MAMP/XAMP/WAMP。

现在您需要犯一个错误,因此在 info.php 文件中将代码替换为以下代码:

<?php

phpinfo(;

一旦你想象,你就会看到错误出现。

在我的例子中,错误是数据库密码为空,而需要有密码。我找到了旧密码并输入它,这解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.