无法使用PHP将数据插入MySQL数据库

无法使用PHP将数据插入MySQL数据库,php,mysql,Php,Mysql,我无法将数据插入MySQL数据库。我不知道原因,因为没有触发错误。我在windows上使用XAMPP运行本地服务器。这是代码。如果有人能帮忙,那就太好了 我总是得到“未插入的值”输出。当我通过SQL查询的值(“$email”,…)部分中的一个表单获得输入的精确值时,我还尝试打印$query <?php $dbconnect = mysqli_connect("localhost","root","","id3626001_login_details"); if (!$dbconnec

我无法将数据插入MySQL数据库。我不知道原因,因为没有触发错误。我在windows上使用XAMPP运行本地服务器。这是代码。如果有人能帮忙,那就太好了

我总是得到“未插入的值”输出。当我通过SQL查询的值(“$email”,…)部分中的一个表单获得输入的精确值时,我还尝试打印$query

<?php


$dbconnect = mysqli_connect("localhost","root","","id3626001_login_details");

if (!$dbconnect) 
{
    die("Connection Failed" .mysqli_connect_error());
}

if (!mysqli_select_db($dbconnect, "id3626001_login_details"))
{
    echo "Could not connect to Database";
}

if (isset($_REQUEST['username']) && ($_SERVER["REQUEST_METHOD"] == "POST")){

$username = $_REQUEST['username'];
$email = $_REQUEST['email'];
$password = $_REQUEST['password'];

// Inserting values into the database through a query
$query = "INSERT INTO user_registration (ID, email, username, password) VALUES ('$email', $username', '".md5($password)."')";

if (!mysqli_query($dbconnect, $query))
{   
    echo "Values not inserted";     
}

$result = mysqli_query($dbconnect, $query);

if($result){
    echo "Registration Successful";
    }
}
?>

您的查询中有一个问题

1)您要传递的列计数和值计数不相同(必须相同)

2)您忘记放置
(在
$username'
之前引用)

将您的查询更改为

// Inserting values into the database through a query

$query = "INSERT INTO user_registration ( email, username, password) VALUES ('$email', '$username', '".md5($password)."')";
当您进行测试时,您不仅应该只打印查询,还应该复制该查询并通过[(localhost/phpmyadmin)>选择数据库>SQL]将其直接运行到数据库中,并查看在触发查询时显示的错误

更新

对于@Akintunde的建议

出于安全考虑,您不应该使用这些对您完全开放的插入方法,您必须遵循一些规则,以避免脚本成为sql注入的目标


改为用于数据库操作

查询中有问题

1)您要传递的列计数和值计数不相同(必须相同)

2)您忘记放置
(在
$username'
之前引用)

将您的查询更改为

// Inserting values into the database through a query

$query = "INSERT INTO user_registration ( email, username, password) VALUES ('$email', '$username', '".md5($password)."')";
当您进行测试时,您不仅应该只打印查询,还应该复制该查询并通过[(localhost/phpmyadmin)>选择数据库>SQL]将其直接运行到数据库中,并查看在触发查询时显示的错误

更新

对于@Akintunde的建议

出于安全考虑,您不应该使用这些对您完全开放的插入方法,您必须遵循一些规则,以避免脚本成为sql注入的目标


改为用于数据库操作

在查询中,您忘记在上面加引号
->
$username”

$query = "INSERT INTO user_registration (email, username, password) VALUES ('$email', '$username', '".md5($password)."')";
这里我们不是将Id作为参数传递,所以您需要在该表的数据库中使Id自动递增

为什么要将查询传递两次到mysqli_query(),您可以检查一次,就像

$result = mysqli_query($dbconnect, $query);
if ($result)
{   
  echo "Registration Successful";
}
else{
  echo "Values not inserted"; 
}

在您的查询中,您忘了在上面加引号
->
$username'

$query = "INSERT INTO user_registration (email, username, password) VALUES ('$email', '$username', '".md5($password)."')";
这里我们不是将Id作为参数传递,所以您需要在该表的数据库中使Id自动递增

为什么要将查询传递两次到mysqli_query(),您可以检查一次,就像

$result = mysqli_query($dbconnect, $query);
if ($result)
{   
  echo "Registration Successful";
}
else{
  echo "Values not inserted"; 
}

在您的查询中,列数和值是不同的Hanks@Irony Stack我编辑了我的答案。谢谢你指点我。在你的查询中,列数和值是不同的Hanks@Irony Stack我编辑了我的答案。谢谢你指点我。