Помощник
|
При передаче переменной методом post через форму она пустая |
Kuchuluk
|
Сообщение
#1
|
||
|
|
||
|
|||
matroskin8 |
5.2.2012, 19:53;
Ответить: matroskin8
Сообщение
#2
|
|
[PHP] if (isset ($_POST["$id"])) { $id = $_POST["$id"]; } [/PHP] Проверил переменную id таким кодом if (empty ($id)) {echo "Переменная id пустая";} оказалось переменная id пустая. Почему она не передалась? Потому что правильно не $_POST["$id"], а $_POST["id"] |
|
|
Kuchuluk
|
Сообщение
#3
|
|
спасибо, теперь переменная id передается. Но комментарий в базу так и не заносится. дальше в обработчике идет такой код:
if (isset ($sub_com)) выдается сообщение об ошибке: array(2) { [0]=> string(1) "3" ["sum"]=> string(1) "3" } Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:homelocalhostwwwphpblogcomment.php on line 45 bool(false) то есть я так понимаю, что новые поля не были добавлены в таблицу БД? |
|
|
matroskin8 |
5.2.2012, 22:28;
Ответить: matroskin8
Сообщение
#4
|
|
Сама ошибка говорит, что в функцию mysql_fetch_array() попадает не то, что должно, а именно - булев тип false вместо ресурса. Следовательно, ошибку нужно искать в запросах.
После каждого запроса нужно ставить проверки, чтобы проще отлавливались ошибки, об этом уже говорилось: $result = mysql_query ("SELECT sum FROM comments_setting",$db) or die(mysql_error()); то есть я так понимаю, что новые поля не были добавлены в таблицу БД? Почему? Вполне может быть, что добавилось - достаточно легко проверить это... просто посмотри в БД . В скрипте я вижу 2 запроса. Ошибка, скорее всего, идет на второй из них ($result2), поскольку он добавляет данные и фетчить добавление просто бессмысленно. |
|
|
Kuchuluk
|
Сообщение
#5
|
|
matroskin8, как ты и предполагал, ошибка оказалась во втором запросе. выдал вот такую ошибку You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'g','2012-02-05')' at line 1
|
|
|
matroskin8 |
5.2.2012, 23:26;
Ответить: matroskin8
Сообщение
#6
|
|
Ну тогда вот отличный метод отладки запросов:
1) формируем текст запроса; 2) выводим текст запроса на экран, останавливая работу скрипта; 3) смотрим текст запроса и ищем ошибки - сравниваем имена полей в запросе с именами полей в БД, смотрим, что попадает в каждое конкретное значение поля и т.д. В коде это выглядит так: $query = "INSERT INTO comments (post,author,text,date) VALUES ('$id','$author,'$text','$date')"; // формируем текст запроса echo $query; // распечатываем текст запроса exit; // останавливаем на этом выполнение скрипта 4) после устранения всех ошибок - уже отсылаем сам запрос, убирая распечатку и выход из программы: $query = "INSERT INTO comments (post,author,text,date) VALUES ('$id','$author,'$text','$date')"; // формируем текст запроса
$res = mysql($query) or die(mysql_error()); // отправляем запрос |
|
|
Kuchuluk
|
Сообщение
#7
|
|
блин, такая тупая ошибка оказалась))) оказывается в запросе после $author апостроф не стоял. спасибо большое!
|
|
|
matroskin8 |
6.2.2012, 18:49;
Ответить: matroskin8
Сообщение
#8
|
|
Пожалуйста
|
|
|
Kuchuluk
|
Сообщение
#9
|
|
Здравствуйте еще раз.
делаю вот такой запрос на вывод из тыблицы БД: $result0 = mysql_query("SELECT id, name, mini_biography, mini_portrait FROM authors WHERE cat='$cat'",$db); вроде все написано правильно, но выдает такую синтаксическую ошибку - Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in Z:homelocalhostwwwhavebookview_cat.php on line 48 - именнов этой строке. переменная cat передается в этот файл методом GET, но ее я уже до этого вывел в простую переменную $cat. не пойму в чем ошибка, запрос же правильный. |
|
|
matroskin8 |
9.3.2012, 16:23;
Ответить: matroskin8
Сообщение
#10
|
|
Где-то перед этой строкой, скорее всего, не закрыта инструкция, т.е., в конце строки пропущена точка с запятой. На сам запрос не ругается.
|
|
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Bropush - Твой бро в монетизации через Push-уведомления | 28 | bropush | 11194 | Вчера, 12:52 автор: bropush |
|
Через какой браузер и как можно найти в кэшэ браузера видео | 10 | Room | 1929 | 23.3.2024, 7:41 автор: Room |
|
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ. Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п |
6 | stu999 | 1551 | 21.3.2024, 20:45 автор: stu999 |
|
Если статья не в индексе Google - она уникальна или нет? | 2 | uahomka | 796 | 20.3.2024, 11:17 автор: Vmir |
|
XMLSeo - поисковая выдача Яндекс, Wordstat, Google, Bing, DuckDuckGo через API | 0 | Malpertu36 | 1533 | 25.12.2023, 19:34 автор: Malpertu36 |
Текстовая версия | Сейчас: 28.3.2024, 19:45 |