我有一个变量$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
如何解决这个问题?谢谢你的帮助。
发布于 2018-07-18 04:44:40
只需将引号放在字符串中。
$row = Db::getInstance()->getRow('
SELECT `id_category`
FROM ' . _DB_PREFIX_ . 'category_lang c
WHERE c.`name` = "' . $categoryName . '"');
正如注释中所提到的,如果使用预准备语句来防止SQL注入,效果会更好。如果您不能做到这一点,您应该确保正确地转义$categoryName
。
https://stackoverflow.com/questions/51389444
复制相似问题