簡體   English   中英

mysqli_real_escape_string無法正常工作

[英]mysqli_real_escape_string not working correctly

我試圖在進行MySQL INSERT查詢之前同時使用mysqli_real_escape_stringtrim 我的代碼如下:

<?php
$fname = mysqli_real_escape_string($dbc, trim($_POST['fname']));
$sname = mysqli_real_escape_string($dbc, trim($_POST['sname']));
$occ = mysqli_real_escape_string($dbc, trim($_POST['occ']));
$twitter = mysqli_real_escape_string($dbc, trim($_POST['twitter']));
$email = mysqli_real_escape_string($dbc, trim($_POST['email']));
$skype = mysqli_real_escape_string($dbc, trim($_POST['skype']));
$topic1 = mysqli_real_escape_string($dbc, trim($_POST['topic1']));
$topic2 = mysqli_real_escape_string($dbc, trim($_POST['topic2']));
$topic3 = mysqli_real_escape_string($dbc, trim($_POST['topic3']));
$avoid1 = mysqli_real_escape_string($dbc, trim($_POST['avoid1']));
$avoid2 = mysqli_real_escape_string($dbc, trim($_POST['avoid2']));
$avoid3 = mysqli_real_escape_string($dbc, trim($_POST['avoid3']));
$cr = mysqli_real_escape_string($dbc, trim($_POST['cr']));

if ((!empty($fname)) && (!empty($sname)) && (!empty($email)) && (!empty($topic1))) {
    $dbc = mysqli_connect('host', 'user', 'password', 'database') or die('Error connecting to MySQL server');
    $query = "INSERT INTO initial_details (fname, sname, occ, twitter, email, skype, topic1, topic2, topic3, avoid1, avoid2, avoid3, cr) VALUES ('$fname', '$sname', '$occ', '$twitter', '$email', '$skype', '$topic1', '$topic2', '$topic3', '$avoid1', '$avoid2', '$avoid3', '$cr')";
    $result = mysqli_query($dbc, $query);
    if (!$result) {
        mysqli_close($dbc);
        echo 'Duplicate';
    } else {
        mysqli_close($dbc);
        echo 'Success - entry added';
    }
} else {
    echo 'Error';
}   
?>

使用上面的代碼,我會收到“錯誤”消息,但是,如果刪除mysqli_real_escape_string()並僅使用trim可以成功插入條目。

為什么在這種情況下我不能使用mysqli_real_escape_string()

$dbc = mysqli_connect必須在所有mysqli_real_escape_string調用之前,才能使其正常工作。 這是因為您需要活動的mysqli連接才能使用該功能。

您必須先連接到數據庫。
打開錯誤報告也有幫助。

$dbc = mysqli_connect必須在所有mysqli_real_escape_string調用之前,才能使其正常工作。 這是因為您需要活動的mysqli連接才能使用該功能。 這是什么意思。 需要更詳細嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM