PHP5.6中如何在mysql查询中添加引号
例如,我有一个变量$categoryName,它的值为ABC/ABC。我需要在这段文字ABC/ABC周围加上引号。这是我的PHP代码: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
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,所以您必须检查文档中的内容。您能解释一下您的问题吗?你没有引用任何东西,这应该相当容易