我目前正在开发一个基于 prestashop 代码的框架。当他们查询连接表等时,我在 DbQuery.php 中找到了pSQL
和函数。bqSQL
我正在尝试在 prestashop 上找到该功能。但我没有找到。我想知道它是否是 PHP 的预定义函数?我从谷歌查看但没有文档(除了它可能是 postgreSQL,但我不确定)。
如果有人能告诉我这些功能是做什么用的?有什么区别吗?
我目前正在开发一个基于 prestashop 代码的框架。当他们查询连接表等时,我在 DbQuery.php 中找到了pSQL
和函数。bqSQL
我正在尝试在 prestashop 上找到该功能。但我没有找到。我想知道它是否是 PHP 的预定义函数?我从谷歌查看但没有文档(除了它可能是 postgreSQL,但我不确定)。
如果有人能告诉我这些功能是做什么用的?有什么区别吗?
pSQL
&bqSQL
不是PHP的预定义函数。它们是来自文件/config/alias.php的 Prestashop 函数
当前命名为“db::escape(...)”并在别名中定义为“pSQL”(如 Happy 所说),在旧的 1.2 版本中,它直接定义在 db 类上。
当前方法“逃脱”(PS 1.6)
public function escape($string, $html_ok = false, $bq_sql = false)
{
if (_PS_MAGIC_QUOTES_GPC_)
$string = stripslashes($string);
if (!is_numeric($string))
{
$string = $this->_escape($string);
if (!$html_ok)
$string = strip_tags(Tools::nl2br($string));
if ($bq_sql === true)
$string = str_replace('`', '\`', $string);
}
return $string;
}
请注意,“escape”方法从后代类调用“_escape”方法,允许对每个数据库实现实施不同的保护)。