我尝试使用PHP登录但我得到这个错误:警告:mysqli_real_escape_string()预计正好2个参数,1给出,我做错了什么?
register.PHP
<!doctype html>
<html lang"fi">
<head>
<link rel="icon" type='image/png' href='images/logo.png'>
<title>
asd
</title>
<link href="css/styles.css" type="text/css" rel="stylesheet">
</head>
<body>
<!--reg alkaa-->
<form action="register.PHP" method="post">
<p><input type="text" name="username" placeholder="Username">
<p><input type="email" name="email" placeholder="Email">
<p><input type="password" name="pass" placeholder="Password">
<p><input type="password" name="pass1" placeholder="Password">
<p><input type="submit" name="submit" value="Register">
</form>
<?PHP
if(isset($_POST['submit']))
{
$username = MysqLi_real_escape_string($_POST['username']);
$pass = MysqLi_real_escape_string($_POST['pass']);
$pass1 = MysqLi_real_escape_string($_POST['pass1']);
$email = MysqLi_real_escape_string($_POST['email']);
if($username && $pass && $pass1 && $email)
{
if($pass==$pass1)
{
$connect = MysqL_connect("MysqL.example.com","username","password");
MysqL_select_db("my_database");
$query = MysqL_query("INSERT INTO users VALUES('$username','$pass','$email');");
echo "You have been registered.";
}
else
{
echo "Password must match.";
}
}
else
{
echo "All fields are required.";
}
}
?>
<!--reg end-->
<Center>
<a href="index.PHP">
<h1>
asd
</h1>
</center>
<div id="main">
<h3>
<div class="menu"> <a href="index.PHP">Etusivu</a> •
<a </div>
</h3>
</div>
<div class="jonne">
</div>
<script src="javascript/jquery.js"></script>
</body>
</html>
我使用000webhost,这是我第一次在线使用MysqL数据库.
解决方法:
如果你正在使用MysqL函数,那么改为MysqLi_real_escape_string($your_variable);使用
$username = MysqL_real_escape_string($_POST['username']);
$pass = MysqL_real_escape_string($_POST['pass']);
$pass1 = MysqL_real_escape_string($_POST['pass1']);
$email = MysqL_real_escape_string($_POST['email']);
如果您使用MysqLi_ *函数,则必须将您与数据库的连接包含在mysqli_real_escape function中:
$username = MysqLi_real_escape_string($your_connection, $_POST['username']);
$pass = MysqLi_real_escape_string($your_connection, $_POST['pass']);
$pass1 = MysqLi_real_escape_string($your_connection, $_POST['pass1']);
$email = MysqLi_real_escape_string($your_connection, $_POST['email']);