my $POST
value is "WYNN'S". When I create an sql query via Yii2 framework:
$vendor = (new Query()) ->select('VendorNo') ->distinct() ->from('Pm_Item i') ->innerJoin('[PurchPrice] [p]', 'p.ItemNo = i.ItemNo AND p.CompanyKey = i.CompanyKey') ->where($condition)->all();
i get an error:
Incorrect syntax near 'S'.
The SQL being executed was: SELECT DISTINCT [TopCode] FROM [PM_Item] WHERE Brand IN( 'WYNN'S')
How can I replace 'WYNN'S' with 'WYNN''S' using php?
UPDATE:
$condition = '';
$i = 0;
foreach ($filters as $filter) {
if (isset($filter['selected'])) {
if (strpos( $filter['selected']['value'], "'") !== false) {
$filter['selected']['value'] = str_replace("'", "''", $filter['selected']['value']); //preg_replace('/\'/', '\'\'', $filter['selected']['value']);
}
if ($i != 0 AND $filter['selected']['value'] != '') {
$condition .= ' AND i.' . $filter['column'] . ' = \'' . $filter['selected']['value'] . '\'';
} elseif ($filter['selected']['value'] != '') {
$condition .= 'i.' . $filter['column'] . ' = \'' . $filter['selected']['value'] . '\'';
}
$i++;
}
}