Помогите с Формой и БД

Spliker

Новичок
Приветсвую :)
Недавно изучаю php и знаю самую малость, со всеми вопросами кое как разбирался, ковыряясь в просторах интернета. Но всё же наткнулся на проблему, которую не могу решить, прошу помочь, итак.

Имеется таблица, с полями: id, FirstName, LastName, Phone

Создана форма (в файле: DataBase.php) :
PHP:
<h3>Для того чтобы обновить запись, введите её Id и заполните поле(поля)</h3>
<form action="UpdateRecord.php" method="post">
<p>
Id:<input type="text" name="id" />
Имя:<input type="text" name="FirstName" />
Фамилия:<input type="text" name="LastName" />
Телефон:<input type="text" name="Phone" />
<input type="submit" value="Изменить" /></P>
</form>
Файл UpdateRecord.php:
PHP:
mysql_connect ($mysql_host, $mysql_user, $mysql_password) or die (mysql_error());
mysql_select_db($mysql_database) or die(mysql_error());
	$strSQL = "Update MyTable set "; 
	$strSQL = $strSQL . "FirstName= '".$POST_[FirstName]."', ";
	$strSQL = $strSQL . "LastName= '".$POST_[LastName]."', "; 
	$strSQL = $strSQL . "Phone= '".$POST_[Phone]."' "; 
	$strSQL = $strSQL . "Where id = ".$POST_[id];
	mysql_query($strSQL);
mysql_close();
При вводе данных в форму, данные в БД не обновляются, не добавляются, никак не изменяются, при том что ошибки никакой не выскакивает, до этого в документе DataBase.php присутствует еще пара форм, но они не как не пересекаются с этой и в полностью работоспособны.

Если использовать следующее написание файла UpdateRecord.php:
PHP:
$strSQL = "Update people set "; 
$strSQL = $strSQL . "FirstName= 'D.', "; 
$strSQL = $strSQL . "Phone= '44444444' "; 
$strSQL = $strSQL . "Where id=".$POST_[id]; 
mysql_query($strSQL);
mysql_close();
то всё работает, но нужно чтобы работало через форму, целый день просидел, никак не могу сделать, помогите пожалуйста :) . Кажется, что нужно поменять, что-то совсем незначительное, как и всегда, но это "что-то" ускользает от меня >.<. Заранее благодарю за помощь.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Запрос свой выведи и посмотри, что с ним не так.
 

С.

Продвинутый новичок
Есть такая штука, которая называется отладка. Ее должны уметь делать все, и начинающие, и продолжающие.
 

Spliker

Новичок
Запрос свой выведи и посмотри, что с ним не так.
Поясни пожалуйста :)
Есть такая штука, которая называется отладка. Ее должны уметь делать все, и начинающие, и продолжающие.
Спасибо, почитаю, поковыряюсь, может и получится сделать :)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Spliker
echo $strSQL; На экран, там будет видно, что скорее всего у тебя он не валиден.

Почему, спросишь ты, я отвечу.

1. $POST_[FirstName] - должно быть $POST_['FirstName']
2. У тебя там кругом SQL иньекции.

Как исправишь, приходи
 

Spliker

Новичок
Т.е. строку :
PHP:
 $strSQL = $strSQL . "FirstName= '".$POST_[FirstName]."', ";
следует записать вот так ? :
PHP:
$strSQL = $strSQL . "FirstName= ".$POST_['FirstName'].", ";
, просто я пробовал переставлять апострофы, результата не было, может что-то пропустил х)
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Spliker
Купи первую книгу по пхп
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Spliker
Котерова советую, поищи по форуму, там есть ссылки. PHP5 в подлиннике, вроде как зовется.
 

Pez!

Я твой сайт похапе писал
да мне просто сразу в глаза бросилось ) *с надеждой во взгляде* Правда, может у него это свой массив отфильтрованный уже ...
 

Spliker

Новичок
Просто не то скопировал, когда ничего не получалось, начал всякие варианты пробовать, дошел даже до $POST_[' '] :D
Проблему решил :).
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Надо не варианты пробовать, а заниматься отладкой и учить синтаксис)))
 
Сверху