首頁>Program>source

我尝試进行php登錄,但出現此錯誤: Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given, 我做錯了什麼?

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> &bullet; 
 <a                                       </div>
</h3>
</div>
<div class="jonne"> 
</div>
<script src="javascript/jquery.js"></script>
</body>
</html>

我使用000webhost,這是我第一次線上使用mysql資料庫時。

最新回復
  • 5月前
    1 #

    您正在混合 mysqlimysql 功能。

    如果您使用的是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']);
    

    註意:由於不建議使用mysql,因此請使用mysqli_ *函式.有關資訊,請阅讀 mysqli_*

  • 5月前
    2 #

    在文件中,函式 mysqli_real_escape_string() 有两个引數。

    string mysqli_real_escape_string ( mysqli $link , string $escapestr ).
    

    第一个是mysqli例項(資料庫連線物件)的link,第二个是要轉義的string.因此您的代碼應類似於:

    $username = mysqli_real_escape_string($yourconnectionobject,$_POST['username']);
    

  • 5月前
    3 #

    mysqli_real_escape_string function 需要連線到您的資料庫。

    $username = mysqli_real_escape_string($your_connection, $_POST['username']);
    

    P.S.: 不要混合 mysql_functions*mysqli_functions* .請使用 mysqli_* functions or PDO 因為不建議使用mysql_ *函式,將来会删除它。

  • 5月前
    4 #

    您正在混用 mysqlmysqli

    使用此 mysql_real_escape_string 類似

    $username = mysql_real_escape_string($_POST['username']);
    

    NOTE : mysql_* 已棄用 mysqli_*PDO

  • 5月前
    5 #

    如果使用過程樣式,則必须同時提供連線和字元串:

    $name = mysqli_real_escape_string($conn, $name);
    

    只有一个字元串才能完成面向物件的版本:

    $name = $link->real_escape_string($name);
    

    希望文件應该對此予以澄清。

  • java:从jar載入圖像以进行Swing HTML
  • c#:PictureBox問题