1

我已经搜索过,但我发现似乎没有任何效果。

我的问题是,当使用特殊字符作为 ' 输入查询中断。现在,我尝试在我的字符串上使用 mysqli_real_escape_string,但这会返回一个空白值。我读到 mysqli_real_escape_string 应该放在数据库连接之后,据我所知,这就是我所做的,但它返回空白值。

这是代码:

<?php

session_start();


if (isset($_POST['submit'])) {
    require_once 'connect.php';

    $title = mysqli_real_escape_string($_POST['title']);
    $article = mysqli_real_escape_string($_POST['article']);

    $query = "INSERT INTO Articles
                (Title, content)
                VALUES 
                ('$title', '$article')";

    $result = mysqli_query($connect, $query) or die('could not query database');

    $_SESSION['artcle'] = 1;
    $_SESSION['artcle'] = $title;


    mysqli_close($connect);
    header('Location: CENSORED');
}
?>
4

2 回答 2

2

您忘记了资源参数:

$title = mysqli_real_escape_string($connect, $_POST['title']);

PHP 手册

于 2013-01-10T02:05:28.250 回答
0

或者

$title = $connect->real_escape_string($_POST['title']);
于 2019-08-30T04:42:05.227 回答