当前位置: 首页 > 知识库问答 >
问题:

警告:mysqli_real_escape_string()只需要2个参数,1个给定。。。我做错了什么?[副本]

胡墨竹
2023-03-14

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

我使用000webhost,这是我第一次在线使用mysql数据库。

共有3个答案

丁雅惠
2023-03-14

mysqli_real_escape_string函数需要连接到数据库。

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

注意:不要混合mysql_函数*和mysqli_函数*。请使用mysqli_*函数或PDO,因为mysql_*函数已弃用,将来将被删除。

锺离穆冉
2023-03-14

从文档中,函数mysqli\u real\u escape\u string()有两个参数。

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

第一个是mysqli实例(数据库连接对象)的链接,第二个是要转义的字符串。所以你的代码应该是这样的:

$username = mysqli_real_escape_string($yourconnectionobject,$_POST['username']);
钱凌
2023-03-14

你正在混合mysqlimysql函数。

如果您使用的是mysql函数,则改为mysqli\u real\u escape\u string($your\u变量) 使用

$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函数中:

$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_*

 类似资料:
  • 问题内容: 我尝试使php登录,但出现此错误:我做错了什么? register.php 我使用000webhost,这是我第一次在线使用mysql数据库时。 问题答案: 您正在混合和运行。 如果您使用的是mysql函数,请改用 如果您使用的是mysqli_ 函数,则必须将与数据库的连接包括到mysqli_real_escape函数中* : 注意:由于不建议使用mysql,因此请使用mysqli_

  • 问题内容: 的所有文档似乎都表明这是一段有效的代码-不明白吗? 问题答案: 文件说两个参数:。 第一个是mysqli实例的链接,第二个是要转义的字符串。

  • 我得到以下错误 警告:mysqli_error()只需要1个参数,给定0 问题出在代码的这一行: 整个代码是 包含的文件有以下一行

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我收到以下错误 警告:mysqli_error()恰好需要1个参数,给定0 问题在于这行代码: 整个代码是 包含的文件具有以下行 问题答案: mysqli_er

  • 设置一个应该在图像上放置广告的应用程序时,我在运行代码时遇到了这个WordPress错误,这是一个令人沮丧的星期试图修复这个问题。 我希望它能工作,但它给了我以下错误:警告:preg_replace_callback():需要参数2,' 如果有人能想出一个解决方案,那将是惊人的,非常感谢!

  • 我刚刚更新了PHP在我的服务器从PHP 5到PHP 7,我得到了这些警告: 警告:preg_replace_callback()[function.preg-replace-callback0]:要求参数2“chr(\1)”是有效的回调 警告:preg\u replace\u callback() 警告:preg_replace_callback()[function.preg-replace-c