1
<?php
include("../scripts/createconnect.php");

if(isset($_POST['submitted'])) {

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


    $sqlinsert = "INSERT INTO Testing (User_Id, username, password)
        VALUES (NULL,'$username', '$password');"; 

    if (!mysqli_query($dbcon, $sqlinsert)) {
        die('error inserting into database');
        } // end of nested if statement

        $newrecord ="Congratulations!";

}  
?>

我有一个由数据库输入的工作表单。我正在学习有关 MySql 注入预防的知识。

我正在尝试使用 mysql_real_escape_string 方法开始,但似乎遇到了格式错误。

我已确认我的数据库已连接。当我将 mysql_real_escape_string 添加到我的表单输入时,我现在遇到了一个错误。

我的远程文件“createconnect.php”通过 mysqli_connect 成功连接。

我添加了教程中详述的 ysql_real_escape_string,现在无法将数据输入到我的 MYSQL 数据库中。有人能告诉我我错过了什么吗?

4

2 回答 2

1

你不能以这种方式编写代码。mysql 函数不能在 mysqli 中使用,如果你想使用 mysqli 来运行 php 查询。检查此链接:http ://scriptforyou.com/mysql-easily-insert-and-update-records/ 。这是使用 mysqli 的最佳教程。

也避免使用 mysql_real_escape_string 。编码快乐!!

于 2012-10-17T10:28:15.227 回答
0

mysqli有类似的功能称为mysqli_real_escape_string

尝试

 $link = new mysqli("localhost", "my_user", "my_password", "dbaname");
 $username = mysqli_real_escape_string ($link,$_POST['username']);
 $password = mysqli_real_escape_string ($link,$_POST['password']);
于 2012-10-17T10:35:37.650 回答