PHP INSERT查询不适用于Web服务器,但适用于localhost。没有错误返回

我对php和mysql还是相当陌生,可以随意提出对我的代码的任何改进。

最近我完成了一个在本地XAMPP服务器上可以正常运行的项目,这就是为什么我决定将其上传到Web服务器以使其公开的原因。现在的问题是,我所有的INSERT查询都在Web服务器上时停止工作。他们似乎可以在本地主机上的脱机XAMPP上正常工作。尽管插入查询不起作用,但没有返回错误,因此我对此感到非常沮丧。

在此方面的任何帮助将不胜感激。下面是我用于插入查询的代码。

$firstname = $_POST['firstname'];
$job_role  = $_POST['job_role'];
$password  = $_POST['password'];
$username  = $_POST['username'];

$conn = mysqli_connect("localhost","root","password","id11597687_inventory");

mysqli_query($conn,"INSERT into users (`id`,`username`,`password`,`access_level`,`name` ) VALUES('','$username','$password','$job_role','$firstname')");

siyuan12345 回答:PHP INSERT查询不适用于Web服务器,但适用于localhost。没有错误返回

'id'删除(...columns),从''删除(...values)

应该看起来像

mysqli_query($conn,"INSERT into users (`username`,`password`,`access_level`,`name` ) 
VALUES('$username','$password','$job_role','$firstname')");

自动递增使+1变为已定义列的新值,在您的情况下为id

还要注意SQL injection

,
  1. 考虑到您正在使用从HTML表单发布的值,您想使用以下内容-

    $var= mysqli_real_escape_string ($con,$_POST['var']);
    
  2. 假设“ id”字段是自动递增的值- 使用类似-

    $sql = "INSERT INTO users (id,username,password,access_level,name) VALUES (NULL,'$_POST[username]','$_POST[password]','$_POST[access_level]','$_POST[name]')";
    
    mysqli_query($conn,$sql)
    
本文链接:https://www.f2er.com/3096402.html

大家都在问