облегчённый администратор mysql

zul

Новичок
облегчённый администратор mysql

Написал тут штуку такую для собственных нужд, столкнулся с проблемой - редактирование записей.
Сделал так:
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());
Так вот, You have an error in your SQL syntax near в некоторых случаях имею, думаю, а куда копать... Т.е. вероятно запросу подсовываются некорректные values.

p.s. Понимаю, что вопрос я может и не поставил полностью, ну что-ж - буду отвечать на встречные.
 

HabaHaba

Новичок
Перед mysql_query() сделай print $query; и как ошибка вылезет - дай посмотреть сам запрос (если не увидишь в чем проблема).
 

zul

Новичок
UPDATE db.table SET datecall = '2003-09-26 13:31:53', pid = '', name = '', sname = '', oname = '', birthday = '0000-00-00', sex = '', index = '', region = '', city = '0', street = '', korpus = '', flat = '', house = '', phone = '', email = '', whobuy = '', shave = '', wuse = '', car = '', word1 = '', word2 = '', word3 = '', wrong_random = '1', wrong_pid = '0', no_ank = '1', question = '3', rules = '1' WHERE id = '1'

You have an error in your SQL syntax near 'index = '', region = '', city = '0', street = '', korpus = '', flat = '', house ' at line 1
 

zul

Новичок
О господи =)))) Блин блин блин...
огромное спасибо, что-ж это я никак не запомню ((
 
Сверху