zul
Новичок
облегчённый администратор mysql
Написал тут штуку такую для собственных нужд, столкнулся с проблемой - редактирование записей.
Сделал так:
1) Выбираем базу
2) Выбираем таблицу
3) Выбираем запись
первое поле - то, по которому делается выборка
основываясь на типах полей, длинах полей выводятся input'ы и textarea разной длины и высоты (не суть важно) с values'ами запроса по первому полю.
ПРОБЛЕМА - сохранение записей у меня почему-то работает не на всех таблицах (разные типы данных)
а сделано оно (сохранение) так -
Так вот, You have an error in your SQL syntax near в некоторых случаях имею, думаю, а куда копать... Т.е. вероятно запросу подсовываются некорректные values.
p.s. Понимаю, что вопрос я может и не поставил полностью, ну что-ж - буду отвечать на встречные.
Написал тут штуку такую для собственных нужд, столкнулся с проблемой - редактирование записей.
Сделал так:
1) Выбираем базу
2) Выбираем таблицу
3) Выбираем запись
первое поле - то, по которому делается выборка
основываясь на типах полей, длинах полей выводятся input'ы и textarea разной длины и высоты (не суть важно) с values'ами запроса по первому полю.
ПРОБЛЕМА - сохранение записей у меня почему-то работает не на всех таблицах (разные типы данных)
а сделано оно (сохранение) так -
PHP:
// Выбираем ту базу, с которой работаем
mysql_select_db($database) or die(mysql_error());
// Задаём начало запроса
$query = "UPDATE $datatable SET ";
// Из $_GET'а берём
foreach ($_GET as $key => $value)
{
// Тут учитываем те ключи, которые не должны в базу писаться
if ($key <> 'database' and $key <> 'datatable' and $key <> $main_id and $key <> 'main_id')
{
$query .= "$key = '$value', ";
}
// Тут эти поля сохраняем, как главные
elseif ($key == $main_id)
{
$set_id_value = $value;
}
elseif ($key == 'main_id')
{
$set_id = $value;
}
}
// Удаляем из запроса запятую и пробел, оставшиеся
$query = substr($query, 0, -2);
// Теперь $query содержит всё что надо
$query .= " WHERE $set_id = '$set_id_value'";
// Делаем запрос
mysql_query($query,$dbi) or die(mysql_error());
p.s. Понимаю, что вопрос я может и не поставил полностью, ну что-ж - буду отвечать на встречные.