вопросы твои совсем неглупые.
Уж поверь моему опыту, бывают и глупее.
Так что всегда рады ответить.
Если тебе интересно, я могу и весь приведенный код разобрать
вот эта, к примеру, конструкция,
@ $db = mysql_pconnect("localhost");
if (!$db)
{
echo "Не могу подключиться к базе";
exit;
}
заменяется на одну строчку
mysql_pconnect("localhost") or die("Не могу подключиться к базе");
Ну, про mysql_error и сообщения для юзеров я уже писал.
mysql_select_db имеет столько же шансов не выполниться, сколько и mysql_connect, и поэтому ее надо оформлять так же.
однако забавно, что в твоем примере можно обойтись и без нее совсем, поскольку название БД ты пишешь в запросе.
Чтобы не усложнять код, лучше сделать что-то одно.
традиционно используется функция, а в запросе БД не пишется.
Дальше - запрос.
если в базу вставляются все поля, то перечислять их не нужно, можно использовать краткую запись.
Вообще, про запрос ты можешь почитать в соседней ветке.
Я там объясняю принципы построения запросов и неплохую функцию привел в самом последнем посте.
http://forums.webscript.ru/showthread.php?s=&threadid=15268далее.
если mysql_connect при неудаче выдает причину, то mysql_query - НЕТ.
И если выводить mysql_error после первой можно по желанию, то после второй - обязательно.
Эта функция тебе выдаст ошибку в запросе.
Ну, тебе уже написал об этом Макс.
mysql_affected_rows () опять же здесь бессмысленно.
если квери прошла нормально, то и так можно сказать, что вставлена одна запись. совсем не нужно зря дергать функцию.
а вот текст после вставки в базу выдавать никакой не надо.
тому есть две взаимосвязанные причины.
1. Если в результате запроса пользователя меняются данные в базе, то такой запрос надо делать метобом ПОСТ.
в частности, это гарантия того, что на кнопку не нажмет робот.
2. Если данные были отправлены методом ПОСТ, то надо после него, не выводя ничего в браузер, перенаправить юзера методом ГЕТ.
об этом подробно написано тут:
http://phpclub.ru/talk/showthread.php?s=&threadid=43521