PHP MySQLi 查询不工作

标签 php mysql mysqli

每当用户注册时,我都试图将数据插入到数据库中的用户表中,但是,我在这样做时遇到了麻烦..

我试图在我的 index.php 文件(完美运行)上进行测试:

if(empty($_POST['post'])) {
    mysqli_query($conn,"INSERT INTO users (fname,lname,group) VALUES ('John','Doe',1)");
}

然后我尝试在我的注册表中这样做,但效果不佳,我试图找出原因......

这是“users.php”文件中的注册函数:

function register_user($register_data) {
    array_walk($register_data, 'array_sanitize');
    $register_data['password'] = md5($register_data['password']);

    $fields = '`' . implode('`, `', array_keys($register_data)) . '`';
    $data = '\'' . implode('\', \'', $register_data) . '\'';

    mysqli_query($conn, "INSERT INTO users ($fields) VALUES ($data)");
}

以及我在“register.php”页面上使用的代码:

require_once 'core/init.php';

$conn = new mysqli($host, $user, $pass, $_db);

if(empty($_POST) === false) {
    $register_data = array(
        'username'   => $_POST['username'],
        'password'   => $_POST['password'],
        'fname'      => $_POST['fname'],
        'lname'      => $_POST['lname'],
        'email'      => $_POST['email']
    );
    register_user($register_data);
    header('location: register.php?success');
    exit();
}

最后,我的初始化文件“init.php”:

session_start();
    //error_reporting(0);

    require '_db/connect.php';
    require '_users/general.php';
    require '_users/users.php'; 

请注意,在我的“connect.php”文件中是数据库连接脚本:

$host = "127.0.0.1";
$user = "root";
$pass = "";
$_db = "test";

//connect script
$conn = new mysqli($host, $user, $pass, $_db);

感谢任何帮助!

谢谢!

最佳答案

$conn 对象未传递给您的 register_user() 函数,因此查询失败。

像这样传递:register_user($register_data, $conn);

并像这样接收它:function register_user($register_data, $conn){...}

关于PHP MySQLi 查询不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35097857/

相关文章:

mysql - WHERE col1 和 ORDER BY col2 会在 (col1,col2) 上使用复合键吗?

Mysql根据相同的值对多个列进行计数

php - 从一个表中选择记录,然后从另一个表中选择一定数量的记录

php - fetch_assoc() 在循环中仅工作一次

php - 我如何在存储过程后获取行的 ID

php - 使用 DateTime 字符串对数组进行排序?

php - 如何通过php中的复选框删除多行

php - 如何从php创建具有两种类型索引的mysql表

PHP从MySQL数据库字段中提取多张图像

php 脚本和模具报告