php - mysqli - 插入记录不起作用

时间:2018-01-24 19:48:32

标签: php mysqli

我确实尝试使用mysqli将信息插入数据库,但它不起作用! 命令似乎是正确的!

$creg=mysqli_connect('localhost','uuu','uuu','pro5');
$sqreg="INSERT INTO tbl_users (username,name,lastname,password,email,gender,country,city,register_date,ip1) VALUES('$un','$na','$lnm','$ps','$eml','$ge','$co','$ci','$rdt','$ip')";
if (mysqli_query($creg, $sqreg) ) {

    echo "Create successfully"."<br>";
    echo  $sqreg . "<br>" . mysqli_error($creg);

} else {
     echo "Error: ";
}

这是输出

Create successfully
INSERT INTO tbl_users (username,name,lastname,password,email,gender,country,city,register_date,ip1) VALUES('dfvdfvd','vfd','dfv','fvdfvd','dfvdfv','1','1','1','0','0')

有什么问题?! 感谢

1 个答案:

答案 0 :(得分:1)

可能影响数据库查询的两件事:

  1. 测试您的连接
  2. <?php 
    $creg = mysqli_connect();
    if(!$creg) {
      trigger_error('Connection did not work.' .  mysqli_connect_error());
    }
    
    1. 检查列(在您的表中)以及您要发送到数据库的内容
    2. 我很确定这是你无法完成动作的原因。如果您发送的列名错误,或者您的表名超过了,则不会添加任何内容。

      例如,您要向这些列发送数据:

      username, # @varchar
      name, # @varchar
      lastname, # @varchar
      password, # @varchar
      email, # @varchar
      gender, # @varchar
      country, # @varchar
      city, # @varchar
      register_date, # @date
      ip1 # @int
      

      现在,您的表应该包含这些列,并且它们是正确的类型。

      令人讨厌的部分是PHP运行查询,好像MySQL正确使用它,所以你看到成功消息是有意义的。

      请检查查询和您的表格。

      您还可以分享table_schema,这有助于确定问题。

      注意:拜托,拜托,拜托!看看service account,它们更优雅,而且今天只是常识。