Следующий код прекрасно работает в моей локальной установке xampp (Windows 7), но когда я перенес его на сервер Win2K8 R2, фрагмент mysql_real_escape_string не работает. Когда я это комментирую, все работает нормально. Я уверен, что это как-то связано с файлом php.ini, но не могу точно определить, что это такое. Возможно, мой код должен был быть написан по-другому.
function add_asset($asset_type_ID, $org_ID, $asset_desc, $asset_cost, $asset_value, $purchase_date) {
global $db;
$asset_desc = mysql_real_escape_string($asset_desc);
$query = "INSERT INTO assets
(asset_ID, asset_type_ID, org_ID, asset_desc, asset_cost, asset_value, purchase_date)
VALUES
(DEFAULT, '$asset_type_ID', '$org_ID', '$asset_desc', '$asset_cost', '$asset_value', '$purchase_date')";
$add_asset = $db->exec($query);
$last_asset_ID = $db->lastInsertId();
return $last_asset_ID;
В частности, когда запись вводится в MySQL, поле asset_desc
остается пустым.
Спасибо!
ОБНОВЛЕНИЕ: просмотрев журнал ошибок PHP, я обнаружил следующее:
[ function.mysql-real-escape-string ]: доступ запрещен для пользователя '' @ 'localhost' (с использованием пароля: НЕТ)