我的PHP出现了一个错误
当我在我的表格上注册时,我得到了这个错误。任何帮助都会很好 错误:我的PHP出现了一个错误,php,html,sql,database,forms,Php,Html,Sql,Database,Forms,当我在我的表格上注册时,我得到了这个错误。任何帮助都会很好 错误: Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/u378761662/public_html/action.php on line 3 我的PHP: <?php $con=mysqli_connect("myhost.com","user","password","d
Parse error: syntax error, unexpected '"', expecting T_STRING or T_VARIABLE or
T_NUM_STRING in /home/u378761662/public_html/action.php on line 3
我的PHP:
<?php
$con=mysqli_connect("myhost.com","user","password","db");
$sql="INSERT INTO users values ($_POST["username"], $_POST["pwd"], $_POST["email"])";
if (mysqli_query($con,$sql)) {
echo "User added!";
}
这是一个引用问题:
$sql="INSERT INTO users values ($_POST['username'], $_POST['pwd'], $_POST['email'])";
原始的“
导致了解析器错误。此外,正如@johncode指出的,这是“完全开放的。”这是一个引用问题:
$sql="INSERT INTO users values ($_POST['username'], $_POST['pwd'], $_POST['email'])";
原始的“
导致解析器错误。此外,正如@johncode所指出的,这是“完全开放的。”这是一个引用问题:
$sql="INSERT INTO users values ($_POST['username'], $_POST['pwd'], $_POST['email'])";
原始的“
导致了解析器错误。此外,正如@johncode指出的,这是“完全开放的。”这是一个引用问题:
$sql="INSERT INTO users values ($_POST['username'], $_POST['pwd'], $_POST['email'])";
原始的“
导致解析器错误。此外,正如@johncode所指出的,这是“完全开放的。”您应该养成习惯,对要包含在SQL查询中的动态值使用查询参数。这有助于避免对引号的混淆,并有助于避免安全漏洞
这也很容易
$sql="INSERT INTO users values (?, ?, ?)";
if ($stmt = mysqli_prepare($con,$sql)) {
mysqli_stmt_bind_param($stmt, "sss",
$_POST["username"], $_POST["pwd"], $_POST["Email"]);
if (mysqli_stmt_execute($stmt)) {
echo "User added!";
}
}
PS:您应该养成习惯,对要包含在SQL查询中的动态值使用查询参数。这有助于避免对引号的混淆,并有助于避免安全漏洞
这也很容易
$sql="INSERT INTO users values (?, ?, ?)";
if ($stmt = mysqli_prepare($con,$sql)) {
mysqli_stmt_bind_param($stmt, "sss",
$_POST["username"], $_POST["pwd"], $_POST["Email"]);
if (mysqli_stmt_execute($stmt)) {
echo "User added!";
}
}
PS:您应该养成习惯,对要包含在SQL查询中的动态值使用查询参数。这有助于避免对引号的混淆,并有助于避免安全漏洞
这也很容易
$sql="INSERT INTO users values (?, ?, ?)";
if ($stmt = mysqli_prepare($con,$sql)) {
mysqli_stmt_bind_param($stmt, "sss",
$_POST["username"], $_POST["pwd"], $_POST["Email"]);
if (mysqli_stmt_execute($stmt)) {
echo "User added!";
}
}
PS:您应该养成习惯,对要包含在SQL查询中的动态值使用查询参数。这有助于避免对引号的混淆,并有助于避免安全漏洞
这也很容易
$sql="INSERT INTO users values (?, ?, ?)";
if ($stmt = mysqli_prepare($con,$sql)) {
mysqli_stmt_bind_param($stmt, "sss",
$_POST["username"], $_POST["pwd"], $_POST["Email"]);
if (mysqli_stmt_execute($stmt)) {
echo "User added!";
}
}
PS:警告:您仍然容易受到攻击。查看Bill Karwin的答案,了解您的问题的解决方案,以及防止自己受到此类攻击的方法
正如错误所说,请查看第3行,您的报价是错误的:
$sql="INSERT INTO users values (" . $_POST["username"] . ", " . $_POST["pwd"] . ", " . $_POST["email"] . ")";
警告:您仍然容易受到攻击。查看Bill Karwin的答案,了解您的问题的解决方案,以及防止自己受到此类攻击的方法
正如错误所说,请查看第3行,您的报价是错误的:
$sql="INSERT INTO users values (" . $_POST["username"] . ", " . $_POST["pwd"] . ", " . $_POST["email"] . ")";
警告:您仍然容易受到攻击。查看Bill Karwin的答案,了解您的问题的解决方案,以及防止自己受到此类攻击的方法
正如错误所说,请查看第3行,您的报价是错误的:
$sql="INSERT INTO users values (" . $_POST["username"] . ", " . $_POST["pwd"] . ", " . $_POST["email"] . ")";
警告:您仍然容易受到攻击。查看Bill Karwin的答案,了解您的问题的解决方案,以及防止自己受到此类攻击的方法
正如错误所说,请查看第3行,您的报价是错误的:
$sql="INSERT INTO users values (" . $_POST["username"] . ", " . $_POST["pwd"] . ", " . $_POST["email"] . ")";
仅供参考,您也非常开放,您需要过滤输入。您存储值的方式不安全。只需查看您表单中的电子邮件输入字段名称为“email”,并且您正在尝试以“email”的形式获取供参考,你也对你需要过滤的输入敞开了大门。你存储这些值的方式不安全。只要看看你的表单,电子邮件的输入字段名是“email”,你试图以“email”的形式获取,以供参考,你也对你需要过滤的输入敞开了大门。你存储这些值的方式不安全。只要看看你的表单,电子邮件的输入字段名是“email”,你试图以“email”的形式获取,以供参考,您还可以对输入进行筛选。您存储值的方式不安全。只需查看您表单中的电子邮件输入字段名为“email”,您正在尝试以“email”的形式获取。谢谢您的帮助!现在我在注册时没有收到错误,但是插入表单的内容不会显示在数据库中。有什么建议吗?没关系,我算出来了。比尔,你有没有看到输入字段名是“Email”,而你得到的是“Email”@amarjitsngh,我刚刚注意到了这一点。谢谢@谢谢,我已经编辑了上面的内容。谢谢你的帮助!现在我在注册时没有收到错误,但是插入表单的内容不会显示在数据库中。有什么建议吗?没关系,我算出来了。比尔,你有没有看到输入字段名是“Email”,而你得到的是“Email”@amarjitsngh,我刚刚注意到了这一点。谢谢@谢谢,我已经编辑了上面的内容。谢谢你的帮助!现在我在注册时没有收到错误,但是插入表单的内容不会显示在数据库中。有什么建议吗?没关系,我算出来了。比尔,你有没有看到输入字段名是“Email”,而你得到的是“Email”@amarjitsngh,我刚刚注意到了这一点。谢谢@谢谢,我已经编辑了上面的内容。谢谢你的帮助!现在我在注册时没有收到错误,但是插入表单的内容不会显示在数据库中。有什么建议吗?没关系,我算出来了。比尔,你有没有看到输入字段名是“Email”,而你得到的是“Email”@amarjitsngh,我刚刚注意到了这一点。谢谢@谢谢,我已经编辑了上面的内容。