Zamiast podwójnych cudzysłowów użyj ukośnika odwrotnego \' lub `.
Zamiast podwójnych cudzysłowów użyj ukośnika odwrotnego \' lub `.
pSQL() wykonuje ucieczkę.
$pID = Db::getInstance()->getValue('SELECT p.id_product FROM ' . _DB_PREFIX_ . 'product p WHERE p.reference = \''.pSQL($pn).'\'');
pSQL:
function pSQL($string, $htmlOK = false) { static $db = false; if (!$db) $db = Db::getInstance(); return $db->escape($string, $htmlOK); }
bqSQL:
function bqSQL($string) { return str_replace('`', '\`', pSQL($string)); }
$db->escape:
public function escape($string, $html_ok = false, $bq_sql = false) { 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; }