Benim sorgu:
mysql::getInstance()->update('requests', array('response' => mysql_real_escape_string($_POST['status'])), array('secret' => $_POST['secret'])); ?>
I ile dize eklemek için değnek "ve" Eğer sembol, sonra tüm semboller "&" elimden.
Example: string: !"№;%:?*()_+!@#$%^&*()_+
!"№;%:?*()_+!@#$%^: veritabanında sadece görmek
Bunu düzeltmek için?
Herkes gerekmez eğer, işlevini güncelleme:
function update($table, $updateList, $whereConditions)
{
$updateQuery = '';
foreach ($updateList as $key => $newValue) {
if (!is_numeric($newValue)) {
$newValue = "'" . $newValue . "'";
}
if (strlen($updateQuery) == 0) {
$updateQuery .= '`' . $key . '` = ' . $newValue;
} else {
$updateQuery .= ', `' . $key . '` = ' . $newValue;
}
}
return $this->query('UPDATE ' . $table . ' SET ' . $updateQuery . $this->buildWhereClause($whereConditions));
}
UPD: echo mysql::getInstance()->getLastSQL() says:
UPDATE requests SET `response` = '!\"№;%:?*()_ !@#$%^' WHERE `secret` = '52a4ab5f7f3e8491e60b71db7d775ee2'
böylece, mysql sınıfta fonksiyon güncelleme ile sorun?
Slaks, i (, '&', '% 28', $ sorgu) str_replace kullanmanız gerekir; ?