如何在PHP 5.6中的mysql查询中添加引号

时间:2018-07-17 20:09:27

标签: php mysql

我有一个变量from bs4 import BeautifulSoup import requests url = "https://www.neb.com/search#t=_483FEC15-900D-4CF1-B514-1B921DD055BA&sort=%40ftitle51880%20ascending" response = requests.get(url) data = response.text soup = BeautifulSoup(data, 'lxml') tags = soup.find_all('a') for tag in tags: print(tag.get('href')) ,其值(例如)为ABC / ABC。我希望在此文本“ ABC / ABC”周围添加引号。这是我的PHP代码:

$categoryName

还有来自mysql的错误。

public function getCategoryID($categoryName)
    {
        $row = Db::getInstance()->getRow('
        SELECT `id_category`
        FROM ' . _DB_PREFIX_ . 'category_lang c
        WHERE c.`name` = ' . $categoryName);

        return isset($row['categoryName']);
    }

如何解决这个问题?感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

只需将引号放在字符串中即可。

    $row = Db::getInstance()->getRow('
    SELECT `id_category`
    FROM ' . _DB_PREFIX_ . 'category_lang c
    WHERE c.`name` = "' . $categoryName . '"');

如注释中所述,最好使用准备好的语句来防止SQL注入。如果无法做到这一点,则应确保正确避开$categoryName

请参见How can I prevent SQL injection in PHP?