Php 变量进入数据库而不通过$\u POST检索
这是可行的,但是如何将变量的值放入数据库而不通过$u POST检索它们呢? 这是php5中的新功能,还是我以前从未见过它以这种方式使用Php 变量进入数据库而不通过$\u POST检索,php,database,post,Php,Database,Post,这是可行的,但是如何将变量的值放入数据库而不通过$u POST检索它们呢? 这是php5中的新功能,还是我以前从未见过它以这种方式使用 <!doctype html> <html> <head> <title></title> </head <body> <form action="insert.php" method="post"> First Name: <input type
<!doctype html>
<html>
<head>
<title></title>
</head
<body>
<form action="insert.php" method="post">
First Name: <input type="text" name="fname" /><br>
Last Name: <input type="text" name="lname" /><br>
Username: <input type="text" name="uname" /><br>
<input type="submit" name="submit" value="Register"/><br>
</form>
</body>
</html>
因为您在php中使用了hereregister globals
选项,该选项现在在新版本的php中被弃用/删除(主要是因为安全问题),它将$\u POST['fName']
转换为$fName
您应该始终使用$\u POST
/$\u GET
阅读更多信息:不,这被称为Register Global,很久以前就被弃用了,千万不要使用它
启用时,register_globals将向脚本中注入各种变量,如HTML表单中的请求变量。再加上PHP不需要变量初始化,这意味着编写不安全的代码要容易得多
有关更多信息:
不仅如此,而且永远不要将数据连接到SQL查询中!使用准备好的/参数化的查询来避免SQL注入攻击,只使用普通的软件。@Brad在mysqli或PDO中准备好了/参数化了?我同意@Brad。如果您已经在使用mysqli,请执行额外的一小步并使用参数化查询。mysqli和pdo都可以使用它们。更好的是,您应该始终使用。特别是filter\u input()
函数。始终清理输入是一个好主意,即使在您认为不必要的情况下也是如此。谢谢,我在PHP方面落后了很多。试图找到现在正在使用的东西。在C++/ASP领域工作了两年
<?php
$con=mysqli_connect("","","","");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="INSERT INTO traders (fname, lname, username)
VALUES
('$fname','$lname','$uname')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
echo "1 record added " ;
mysqli_close($con);
?>