HTML: <form action="add_description.php" method="post" class="p_table"> <label>Твое имя:<br> <input type="text" name="name"> </label> <br> <label>Класс персонажа:<br> <input type="text" name="class_name"> </label> <br> <label>Краткое описание:<br> <textarea name="mini_text" cols="70" rows="10"></textarea> </label> <br> <label>Полное описание:<br> <textarea name="old_text" cols="70" rows="10"></textarea> </label> <br> <br> <input name="Input" type="submit" value="Отправить"> </form> Делаем маленькую страничку с формой, заполняем, жмем отправить, и.. и она выдает, что не добавлено. PHP: <? $connect = mysql_connect("localhost","root","root"); mysql_query(db,$connect); if (isset($_POST['name'])) {$name = $_POST['name'];} if (isset($_POST['class_name'])) {$class_name = $_POST['class_name'];} if (isset($_POST['mini_text'])) {$mini_text = $_POST['mini_text'];} if (isset($_POST['old_text'])) {$old_text = $_POST['old_text'];} ?> <? if (isset($name) && isset($class_name) && isset($mini_text) && isset($old_text)) { $result = mysql_query("INSERT INTO description (name,class_name,mini_text,old_text) VALUES ('$name,$class_name,$mini_text,$old_text')"); if($result == 'true') {echo "Сообщение было успешно добавлено, теперь можно с чистой душой возвращаться куда-нибудь.";} else {echo "Странно, вроде все должно работать, но сообщение не добавлено!";} } else { echo "<p>Все бы было хорошо, если бы ты заполнил все поля.</p>"; } ?>
if($result == 'true') есть какие-то причины, по которым mysql_query может вернуть строку 'true' ? почему не просто if ($result) ?
это попов, но несколько переделанный. (обидно что спалился ) короче, мне возвращает 14 строчку, независимо от того, if($result == 'true') или if ($result)
и вообще $result = mysql_query("INSERT INTO description (name,class_name,mini_text,old_text) VALUES ('$name,$class_name,$mini_text,$old_text')") || die("Oops!!! - ".mysql_error()); И внимательно читай сообщение об ошибке.
и я даже догадываюсь что оно скажет... оно кагбэ намекнет, что то что у тебя написано в values нормальный mysql понять не может... точнее понять может, но запихать в твой insert не в состоянии
не понимаю, вверху я сделал выборку базы, в инсерт таблица description, чето мозги совершенно не варят.
PHP: <?$sql_str = "INSERT INTO description (name,class_name,mini_text,old_text) VALUES ('$name,$class_name,$mini_text,$old_text')"; echo $sql_str; ?> и попробуйте вбить это в БД. а вообще есть замечательная функция mysql_error();
интересно, что делает mysql_query(db,$connect); в третьей строке? Пытается заменить собой mysql_select_db? Видимо, да - попов это диагноз. Надо лечиться.
Ну и что? Я всегда пишу PHP: <? mysql_query("SELECT LAST_INSERT_ID()"); ?> а не вызываю функцию mysql_insert_id