Я занимаюсь разработкой на своем компьютере для разработки на PHP и удаленно подключаюсь к базе данных. Я загрузил файлы на сервер, и онлайн-запрос работает, как и ожидалось, но в localhost - нет. Все остальные запросы работают!
У меня есть блок кода для вставки новой записи в базу данных или обновления, если она уже существует.
Код:
$name = mysql_real_escape_string($_REQUEST['name']);
$title = mysql_real_escape_string($_REQUEST['title']);
$content = $_REQUEST['content'];
$lang_drop = mysql_real_escape_string($_REQUEST['lang']);
if($uid == 0)
{
$maxSort = tools::getInfo($table, Array(), Array('MAX(sort_order) as sort_order'));
$maxSort = $maxSort[0]['sort_order']+1;
$sql="insert into quemsomos (title,name,lang,sort_order)
values(
'$title',
'$name',
'$lang_drop',
$maxSort
)";
echo $sql;
mysql_query($sql);
$uid = mysql_insert_id();
}
else{
$maxSort = $data['sort_order'];
$sql="update `quemsomos` set `title`='blabkalm', `name`='{$name}', `lang`='{$lang_drop}', `sort_order`=$maxSort where `uid`={$uid}";
mysql_query($sql);
echo $sql;
}
Довольно просто ... Если я вставлю новую запись, она будет работать нормально и напечатанное значение $ sql будет равно:
insert into quemsomos (title,name,lang,sort_order) values('title412', 'name421', 'pt', 3 )
Проблема в том, что при обновлении выполняется запрос, но в базе данных хранятся только жестко закодированные значения. Я имею в виду, что после обновления ниже все значения в БД пусты, за исключением сохраненного sort_order и заголовка (потому что он жестко закодирован ... если я укажу правильную переменную, поле также станет пустым)
echo $ sql для оператора update возвращает следующее:
update `quemsomos` set `title`='blabkalm', `name`='name421', `lang`='pt', `sort_order`=3 where `uid`=2
Как вы видите, все значения есть, и если я запускаю этот запрос вручную, все работает нормально ...
Имеет ли это смысл для кого-либо?