PHP数据没有正确进入mySQL DB

时间:2014-12-12 21:10:40

标签: php mysql

我有一个在前端运行的PHP脚本。前端获取数据并将其输入SQL DB。在大多数情况下,它运行正常,但是某些字符会导致数据库中的条目为空。到目前为止,似乎|,/和\字符导致条目为空。下面是我将PHP数据插入SQL DB的PHP代码。我猜它是因为它没有正确消毒,但我无法弄清楚原因。

if (!empty($_POST['do'])) {
    switch ($_POST['do']) {
        case 'add':
             if (empty($_POST['quote'])) {
                 break;
             }
             $quote = htmlspecialchars($_POST['quote']);
             $quote = str_replace("  ", "  ", $quote);
             $quote = nl2br($quote);
             if (ini_get("magic_quotes_runtime") or ini_get("magic_quotes_gpc")) {
                  $sql = "INSERT INTO ".$_qdbs['tpfx']."queue (id,quote) VALUES ('NULL', '".mysql_real_escape_string(stripslashes($quote))."')";
             } else {
                  $sql = "INSERT INTO ".$_qdbs['tpfx']."queue (id,quote) VALUES ('NULL', '".mysql_real_escape_string($quote)."')";
             }
             $r = $db->_sql($sql);
             print($tpl->fetch($tpl->tdir.'layout_header.tpl'));
             print($tpl->fetch($tpl->tdir.'quote_added.tpl'));
             print($tpl->fetch($tpl->tdir.'layout_footer.tpl'));
             break;
    }
}

0 个答案:

没有答案