Неполучается занести данные в БД(MySQL)

Anton5

Новичок
Неполучается занести данные в БД(MySQL)

Имеется:
  • Apache HTTP Server 2.2.4
  • PHP 5.2.3
  • MySQL 5.0.18
  • phpMyAdmin - 2.11.4
Имеется скрипт:
PHP:
<?php
		$sql = "INSERT INTO gastbuch (absender, betreff, message, datum) values ('".$_POST['absender']."', '".$_POST['betreff']."', '".$_POST['message']."', now())";
		$link= mysql_connect("localhost", "root", "9500");
		mysql_select_db("php_buch", $link) or die("Ошибка выбора БД <br>");
		mysql_query($sql, $link) or die("Ошибка БД <br>");
		
		echo "Передано";
		?>
		<form id="FormName" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="FormName">
			Ваше имя:
			<p><input type="text" name="absender" size="24" value="<?php echo $_POST['absender']; ?>"></p>
			<p>Профессия</p>
			<p><input type="text" name="betreff" size="24" value="<?php echo $_POST['betreff']; ?>"></p>
			<p>Комментарий</p>
			<p><textarea name="message" rows="4" cols="40" value="<?php echo $_POST['message']; ?>"></textarea></p>
			<p><input type="submit" name="submit" value="Отправить"></p>
			<input type="hidden" name="flag" value="1">
При выполнение происходит ошибка(выводится "Ошибка БД" т.е. почемуто не выполняется команда mysql_query($sql, $link)). Почёму непойму.
 

Bitterman

Новичок
Какая ошибка?
И скрипт изначально неправильный, так как нет слеширования полученных данных.
И текстовые данные надо заключать в кавычки. Остальные тоже можно.
 

Anton5

Новичок
Этот скрипт списал из книги!? (PHP 5 & MySQL 5, Кристина Пейтон, Андрей Меллер)
Неочень понел что нужно сделать
немог бы исправить несколько строк для примера
 

Anton5

Новичок
Прчитал. Исправил(в первом сообщение).
Как сделать слеширование полученных данных.(где что добавить?)
Немоглибы ради примера исправить несколько строк!!!!?
 

Фанат

oncle terrible
Команда форума
в каком смысле "как сделать"? там же все написано?
 

Anton5

Новичок
Кавычки у меня между прочем стоят стоят:
PHP:
<?php
		if($_POST['flag']==1)
		{
		$_POST['flag']==0;
		$sql = "INSERT INTO gastbuch (absender, betreff, message, datum) values ('".$_POST['absender']."', '".$_POST['betreff']."', '".$_POST['message']."', now())";
		$link= mysql_connect('localhost', 'root', '9500');
		mysql_select_db('php_buch', $link) or die("Ошибка выбора БД <br>");
		mysql_query($sql, $link) or die("Ошибка БД <br>");
		
		echo "Передано<br><a href=\"http://localhost/index.php\">Далее<\a>";
		}
		?>
Немоглибы ради примера исправить несколько строк!!!!?

Забудь эту фразу. По крайней мере, на этом форуие.
Извини но я не понимаю ПОЧЕМУ? Неужели так трудно исправить самому несколько строк если видишь ошибку? Я не понимаю для чего отсылать человека самому найти свою ошибку?(неужели ты думаешь что я не пытался сам с данной проблемой разобраться? (бьюсь с этим уже почти неделю) Просматривая другие скрипты кардинальныхотличий от моего не нашёл!) А показав на примере он быстрее поймёт свою ошибку и не будет в дальнейшем не кого доставать с этим вопросом!
 

Фанат

oncle terrible
Команда форума
http://phpfaq.ru/debug
http://phpfaq.ru/slashes

без прочтения этих двух текстов и выполнения того, что там написано, работать с бд и искать ошибки бессмысленно.
Извини но я не понимаю - ПОЧЕМУ. Неужели так трудно прочесть самому несколько строк и исправить свою ошибку?
 

baev

‹°°¬•
Команда форума
Извини но я не понимаю ПОЧЕМУ?
— потому что Вы в следующий раз опять с подобным же вопросом придёте. Вместо того, чтобы один раз до сути докопаться и научиться самому разбираться с такими проблемами.


Неужели так трудно исправить самому несколько строк если видишь ошибку?
— неужели так трудно прочитать текст по рекомендованным ссылкам и наконец-то увидеть ошибку самому?


Просматривая другие скрипты кардинальныхотличий от моего не нашёл!)
— потому что нет смысла «просматривать другие скрипты». Ошибка — в Вашем, там её и надо искать.
Как её найти — написано тут:
http://phpfaq.ru/debug
 

Bitterman

Новичок
Anton5
Во-первых, поставь вместо
Код:
die("Ошибка БД <br>");
код
Код:
die(mysql_error());
Во-вторых, выведи себе на экран сам запрос, то есть вставь строку
Код:
echo($sql);
В-третьих, переведя для себя текст ошибки, найди эту самую ошибку в своем sql-выражении.
 

Фанат

oncle terrible
Команда форума
По законам жанра сейчас должен появиться аффтар и поблагодарить Bitterman-а. Не забыв попенять остальным на бессердечность
 

Anton5

Новичок
А ошибка такова:
1146: Table 'php_buch.gastbuch' doesn't exist
Нечего не понимаю. Но БД с таким именем есть!(создавал в phpMyAdmin)
Сам запрос:
INSERT INTO `gastbuch` (absender, betreff, message, datum) VALUES ('Ant', 'PHP', 'pjyrt765', now())
 

Фанат

oncle terrible
Команда форума
Но БД с таким именем есть!(создавал в phpMyAdmin)
Это логически неверное утверждение.
Утверждать, что что-то есть, можно только если ты видишь это собственными глазами.
А что ты там куда-то создавал - это не повод.
Если ты клал сто баксов в дырявый карман - это никак не является основанием утверждать, что эти сто баксов у тебя есть.

Ну. И чего ты теперь от нас ждешь?
 

Anton5

Новичок
В папке С:\Program Files\MySQL\MySQL Server 5.0\data лежит БД(папка php_buch и в ней файлы: db.opt, gastbush.frm).
Через phpMyAdmin данная база открывается.
 

Atomic

Новичок
Anton5

я сам такой же чайник... из соседней темы... (про карты гугл)
... ради интереса сюда зашел... Т.е. учитывая мой опыт в этом деле, меня лучше не слушать... но я все же скажу свое предположение....

я так понимаю , что у тебя проблема в том, что база есть, а самих таблиц нету...
вот он и говорит типа , что в базе "php_buch" , не найдена таблица "gastbuch"

Если я правильно понимаю, то тебе надо создать в своей базе таблицу "gastbuch" с полями: absender, betreff, message, datum
Если я правильно понимаю, то делается это функцией
CREATE TABLE

P.S. еще раз хочу сказать, я не отвечаю за свои слова, так как сам не хрена в этом не понимаю... :)
 

Фанат

oncle terrible
Команда форума
опечатки смотри, гений

-~{}~ 04.02.08 09:19:

Anton5
Пусть это будет тебе уроком на будущее.
Как ты мог заметить, просить исправить скрипт было бесполезно. Найти и исправить свою ошибку программист может только сам.
 

Anton5

Новичок
С таблицей всё окей она есть!
опечатки смотри, гений
Если бы я знал какие опечатки я бы давно уже исправил их(как я говорил я с этим уже почти неделю бьюсь)
 

Фанат

oncle terrible
Команда форума
Антоша. Неделю ты искал, не зная, где.
Сейчас тебе система большими буквами сама пишет - в каком месте опечатка. Напряги мозги, хоть раз в жизни
 
Сверху