php和mysql错误

hgtggwj0  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(332)

这是我的联系:

$db = mysqli_connect('localhost', 'root', '', 'library');

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

这段代码给了我这样的错误
致命错误:未捕获错误:调用c:\xampp\htdocs\rg\server中未定义的函数mysql\u real\u escape\u string()。php:13 stack 跟踪:#0 c:\xampp\htdocs\rg\register.php(1):include()#1{main}在第13行的c:\xampp\htdocs\rg\server.php中抛出

vyswwuz2

vyswwuz21#

请看,我正在从post方法中的表单接收数据。

<form action="<?php $_SERVER['PHP_SELF']?>" method="POST">
  Name:  <input type="text" name="username" />
  <button type="submit" name="dataSent"> Submit </button>
</form>

    //Database connection. if you are in localhost the password is nothing.
    <?php
        define("HOSTNAME","localhost");
        define("USERNAME","root");
        define("PASSWORD","");
        define("DBNAME","here your database name");

    $conn    mysqli_connect(HOSTNAME,USERNAME,PASSWORD,DBNAME);

    ?>

    //php data receiving

        <?php
            if ( isset($_POST['dataSent']) ) {
              $username = mysqli_real_escape_string($conn, $_POST['username'] );
              echo $username;
           }

        ?>

现在应该是工作了。mysqli_real_escape_string(第1段,第2段)如果mysqli_real_escape_string()中不包含数据库连接,则无法接收数据;它接收两个参数。1-是不允许html特殊字符进入数据库进行sql注入的数据库连接。2-is从表单接收数据。
谢谢

mwyxok5s

mwyxok5s2#

您正在混合两个不同的mysql函数(如注解部分所述),请尝试使用其中一个。mysql函数不推荐你最好用mysqli。尝试以下代码

$name = mysqli_real_escape_string($db,$_POST['name']);

相关问题