Php MySQL查询不显示错误,但不显示';t插入

Php MySQL查询不显示错误,但不显示';t插入,php,mysql,Php,Mysql,问题是:始终获取错误用户已经存在,并且并没有插入到数据库中。我在这里的目标是注册不离开主页的用户,并使用ajax请求插入数据库。我还希望用户保持脱机状态 数据库结构(ID自动识别、用户名唯一、电子邮件唯一、密码、状态枚举(活动、非活动)) 我的代码: register.php <?php require_once 'config.php'; session_start(); if(isset($_POST['username']) && isset

问题是:始终获取错误用户已经存在,并且并没有插入到数据库中。我在这里的目标是注册不离开主页的用户,并使用ajax请求插入数据库。我还希望用户保持脱机状态

数据库结构(ID自动识别、用户名唯一、电子邮件唯一、密码、状态枚举(活动、非活动))

我的代码: register.php

<?php
    require_once 'config.php'; 
    session_start();
    if(isset($_POST['username']) && isset($_POST['password']) && isset($_POST['email'])) {
        $username=mysqli_real_escape_string($con,$_POST['username']);
        $email=mysqli_real_escape_string($con,$_POST['email']);    
        $password=md5(mysqli_real_escape_string($con,$_POST['password'])); 
        $result="INSERT INTO users VALUES '', '$username', '$email', '$password', 'inactive'";
        $res=mysqli_query($con, $result);
        if(mysqli_error($con, $result))
           echo mysqli_error($con, $result);
        else
           echo "Inserted Successfully";
    }
    ?>

如果ID设置为
自动递增
,则无需在
插入
语句中指定它

INSERT INTO users (username, email, password, status) VALUES ('$username', '$email', '$password', 'inactive');
<>同时,为了改善活动/不活动用户的搜索,可以考虑将活动列更改为<代码> TyyIn(1)< /代码>,并使用<代码> 0 < /代码>或<代码> 1 >代码>代替文本“活动”/“不活动”< /P> < P>更改

$result="INSERT INTO users VALUES '', '$username', '$email', '$password', 'inactive'";


您的查询中缺少大括号

 $result="INSERT INTO users VALUES('', '$username', '$email', '$password', 'inactive')";
这样做会很好的。。。有关将值插入数据库的更多详细信息,请参阅此链接。。

对我的情况没有帮助。我的用户名和电子邮件在表中设置为唯一,状态为deafolt,如果有帮助的话。使用状态为的枚举。如果尝试插入这两个值两次,查询当然会失败。您可以尝试
INSERT IGNORE
语句,如果遇到重复的值,该语句将不会中断,然后检查受影响的行以查看是否插入了任何内容-否则在客户端上显示错误…没有成功,没有错误,数据库中没有新行,ajax可能有问题吗?
$result="INSERT INTO users VALUES '', '$username', '$email', '$password', 'inactive'";
$result="INSERT INTO users (username, email, password, status) VALUES ('".$username."', '".$email."', '".$password."', 'inactive')";
 $result="INSERT INTO users VALUES('', '$username', '$email', '$password', 'inactive')";