Php 错误:将数据插入mySQL

Php 错误:将数据插入mySQL,php,mysql,Php,Mysql,我不知道我做错了什么,但它没有插入我希望它放入数据库的数据。除了我创建的mysql之外,没有给我任何代码错误,比如“错误插入”之类的东西。我也做了很多关于登录源的谷歌搜索,试图看看有什么不同,但没有用。我找不到哪里不对劲!请帮忙 <?php include_once('connect.php') $username = $_POST['username']; $email = $_POST['email']; $password = $_POST['password']; if (is

我不知道我做错了什么,但它没有插入我希望它放入数据库的数据。除了我创建的mysql之外,没有给我任何代码错误,比如“错误插入”之类的东西。我也做了很多关于登录源的谷歌搜索,试图看看有什么不同,但没有用。我找不到哪里不对劲!请帮忙

<?php
include_once('connect.php')

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

if (isset($_POST['dalol'])){
    test();
}

function test(){
    $sql = "INSERT INTO members (username, email, password) VALUES ('".$GLOBALS['username']."','".$GLOBALS['email']."','".$GLOBALS['password']."')";
    if (mysql_query($sql)){
        echo '<p>Successfully Executed!</p>';
    } else {
        echo '<p>Failed!</p>';
    }
}
?>
<!DOCTYPE html>
<html>
<head>
    <title>Insert Test</title>
</head>
<body>
    <form>
        Username: <input type="text" name="username"/><br>
        Email: <input type="email" name="email"/><br>
        Password: <input type="password" name="password"/><br>
        <input type='submit' name='dalol'/>
    </form>
</body>

插入测试
用户名:
电子邮件:
密码:

由于所有变量都在同一页面上,因此您可以在不使用全局变量的情况下访问变量:

使用以下命令:

$sql = "INSERT INTO members (username, email, password) VALUES ('".$username."','".$email."','".$password."')";
您需要将form标记中的方法指定给,因为默认情况下它将是get type:

在表单标签中进行更改

<form method="POST">


你需要把表单标签的方法作为帖子,因为你是通过邮递来获取数据的,如果你不给出这个方法,那么它会被认为是get方法。

它是因为变量的范围而发生的。试试--/p>
test($username, $email, $password);

功能测试($uname、$email、$password){
$sql=“在成员(用户名、电子邮件、密码)中插入值(“$uname.”、“$email.”、“.password.”);
if(mysql_查询($sql)){
echo“已成功执行!

”; }否则{ 回显“失败!

”; } }

使用
mysqli
PDO
而不是
mysql

您可以使用全局变量

就是这样:

<?php
function test(){
global $username,$email,$password;
$sql = "INSERT INTO members (username, email, password) VALUES ('".$username."','".$email."','".$password."')";
    if (mysql_query($sql)){
        echo '<p>Successfully Executed!</p>';
    } else {
        echo '<p>Failed!</p>';
    }
} ?>



您可以在不使用$globalsadd
echo mysql\u error()
的情况下进行尝试。注意:
mysql\u*
函数已被弃用。如果你写了新代码(尤其是在学习中),不要使用它们。改用
mysqli\uu
或PDO。好的,谢谢您的反馈,我们一定会这么做的。但是你认为它没有理由不将数据插入我的数据库吗?更改为
<?php
function test(){
global $username,$email,$password;
$sql = "INSERT INTO members (username, email, password) VALUES ('".$username."','".$email."','".$password."')";
    if (mysql_query($sql)){
        echo '<p>Successfully Executed!</p>';
    } else {
        echo '<p>Failed!</p>';
    }
} ?>
 <?php
    $username = mysql_real_escape_string($_POST['username']);
    $email = mysql_real_escape_string($_POST['email']);
    $password = mysql_real_escape_string($_POST['password']);
     ?>