Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP5.6中如何在mysql查询中添加引号_Php_Mysql - Fatal编程技术网

PHP5.6中如何在mysql查询中添加引号

PHP5.6中如何在mysql查询中添加引号,php,mysql,Php,Mysql,例如,我有一个变量$categoryName,它的值为ABC/ABC。我需要在这段文字ABC/ABC周围加上引号。这是我的PHP代码: public function getCategoryID($categoryName) { $row = Db::getInstance()->getRow(' SELECT `id_category` FROM ' . _DB_PREFIX_ . 'category_lang c

例如,我有一个变量$categoryName,它的值为ABC/ABC。我需要在这段文字ABC/ABC周围加上引号。这是我的PHP代码:

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']);
    }
还有来自mysql的错误

SELECT `id_category`
        FROM ps_category_lang c
        WHERE c.`name` = ABC/ABC LIMIT 1

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

只要把引号放在字符串中就行了

    $row = Db::getInstance()->getRow('
    SELECT `id_category`
    FROM ' . _DB_PREFIX_ . 'category_lang c
    WHERE c.`name` = "' . $categoryName . '"');
正如评论中提到的,如果使用准备好的语句来防止SQL注入,效果会更好。如果不能这样做,则应确保正确地转义$categoryName


请参见

如果您指的是引号,请引用它。然而,学习如何使用预先准备好的语句,你就不必再担心引用变量了。我不确定您使用的是哪种mysql API,所以您必须检查文档中的内容。您能解释一下您的问题吗?你没有引用任何东西,这应该相当容易