[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ERROR с загрузкой данных в базу
Андрей
Ребята, помогите пожалуйста!

С 12 до 20 сижу и долблю этот код, что я уже только не пробовал и менял метод и синтаксис и прочёл кучу статей и топов, ничего не помогло.

К серверу конектится, базу находит, данные НЕ записывает (один раз получилось и потом снова, даже не помню как сделал). SELECT работает прекрасно.

Вылазит или "ОШИБКА! (З.Ы. Задрала)", или mysql_affected_rows() ставит мне вывод -1 Новость добавлена! и не добавляет, ну и конечно же пишет ошибки с синтаксисом или переменной когда я его целый день теребил.

Поле newsid инкрементное + примари кей.
Поле date дата.
Поле title чар 150.


<?php
/* if (!$_POST['title'] || !$_POST['text'])
{
echo "Ошибка: поля пусты!";
exit;
}
$title = addsashes($_POST['title']);*/


include "config.php";

$result = mysql_query("INSERT INTO news (newsid, date, title) VALUES (NULL, NOW(Y-m-d), 'ДОБАВСЯ!')");

if ($result)
{
echo mysql_affected_rows()." Новость добавлена!";
}
else
{
echo "ОШИБКА! (З.Ы. Задрала)";
}
?>




Спустя 5 минут, 16 секунд (28.11.2009 - 22:13) Oyeme написал(а):
поставь or die(mysql_error());

NOW(Y-m-d) - что это такое?

Спустя 4 минуты, 21 секунда (28.11.2009 - 22:18) Ka4_0k написал(а):
NOW(Y-m-d), одна из функций даты в мускул:) Попробуй то что вводишь в NOW() взять в одинарные кавычки '. Например NOW('Y-m-d')

Спустя 6 минут, 43 секунды (28.11.2009 - 22:24) Dezigo написал(а):
oyeme да.
сделай просто NOW () + convert i cast

Ka4_0k НЕТ NOW(Y-m-d) таково нет.

Спустя 4 минуты, 13 секунд (28.11.2009 - 22:28) Guest написал(а):
Цитата (Ka4_0k @ 28.11.2009 - 19:18)
NOW(Y-m-d), одна из функций даты в мускул:) Попробуй то что вводишь в NOW() взять в одинарные кавычки '. Например NOW('Y-m-d')

NOW(), 'NOW()' - ОШИБКА! (З.Ы. Задрала)


Скрин таблицы, может там что не тек.
user posted image

Спустя 3 минуты, 50 секунд (28.11.2009 - 22:32) Андрей написал(а):
Цитата (Oyeme @ 28.11.2009 - 19:13)
поставь or die(mysql_error());

NOW(Y-m-d) - что это такое?

Прикольно, Incorrect date value: 'NOW()' for column 'date' at row 1, понятно описывает причину biggrin.gif

Спустя 1 минута, 4 секунды (28.11.2009 - 22:33) Dezigo написал(а):
Date and Time Functions
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html
пробуй CURDATE() smile.gif

Спустя 2 минуты, 4 секунды (28.11.2009 - 22:35) Guest написал(а):
Цитата (Dezigo @ 28.11.2009 - 19:24)
сделай просто NOW () + convert i cast

Учу ПХП месяц, мало чего знаю, первый раз пробую с дейт ибо пользовался TIMESTAMP, опиши поподробней пожалуйста.

Спустя 7 минут, 59 секунд (28.11.2009 - 22:43) sergeiss написал(а):
Цитата (Ka4_0k @ 28.11.2009 - 23:18)
NOW(Y-m-d), одна из функций даты в мускул:) Попробуй то что вводишь в NOW() взять в одинарные кавычки '. Например NOW('Y-m-d')

Я не любитель MySQL, мне больше Postgre нравится... Но хэлп по MySQL у меня все равно есть. Вот я его глянул... Ну НЕТУ ПАРАМЕТРОВ у NOW()!!! Нету. Потому что NOW переводится как "сейчас". И возвращает дату и время в момент вызова функции, в определенном формате.

PS. И зачем вводить что-то в newsid, если это автоинкрементное поле???

Спустя 4 минуты, 20 секунд (28.11.2009 - 22:48) Андрей написал(а):
Цитата (Dezigo @ 28.11.2009 - 19:33)
Date and Time Functions
http://dev.mysql.com/doc/refman/5.1/en/dat...-functions.html
пробуй CURDATE() smile.gif

CURDATE() - Incorrect string value: '\xC4\xCE\xC1\xC0\xC2\xD1...' for column 'title' at row 1

CURDATE('2009-11-28') u CURDATE(2009-11-28) - 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 '2009-11-28), 'ДОБАВСЯ!')' at line 1

Спустя 3 минуты, 49 секунд (28.11.2009 - 22:52) Андрей написал(а):
Цитата (sergeiss @ 28.11.2009 - 19:43)
Цитата (Ka4_0k @ 28.11.2009 - 23:18)
NOW(Y-m-d), одна из функций даты в мускул:) Попробуй то что вводишь в NOW() взять в одинарные кавычки '. Например NOW('Y-m-d')

Я не любитель MySQL, мне больше Postgre нравится... Но хэлп по MySQL у меня все равно есть. Вот я его глянул... Ну НЕТУ ПАРАМЕТРОВ у NOW()!!! Нету. Потому что NOW переводится как "сейчас". И возвращает дату и время в момент вызова функции, в определенном формате.

PS. И зачем вводить что-то в newsid, если это автоинкрементное поле???

Все это потому что я с 12 дня мучусь, инкрементное я вообще не указывал так как и сам столбец, параметры в НАУ я засунул потому что уже не знал что делать. Напишите мне пожалуйста строку которая будет работать. Заранее, большое спасибо.

Спустя 18 минут (28.11.2009 - 23:10) sergeiss написал(а):
Цитата (Андрей @ 28.11.2009 - 23:48)
CURDATE() - Incorrect string value: '\xC4\xCE\xC1\xC0\xC2\xD1...' for column 'title' at row 1

А тебя вот это сообщение не наводит на мысль о том, что ты пытаешься вставить дату в колонку с именем title?
Покажи еще раз запрос, и именно тот, который вызывает именно эту ошибку!!!

Спустя 5 минут, 51 секунда (28.11.2009 - 23:15) Андрей написал(а):
Цитата (sergeiss @ 28.11.2009 - 20:10)
А тебя вот это сообщение не наводит на мысль о том, что ты пытаешься вставить дату в колонку с именем title?
Покажи еще раз запрос, и именно тот, который вызывает именно эту ошибку!!!

$result = mysql_query("INSERT INTO news (newsid, date, title) VALUES (NULL, CURDATE(), 'ДОБАВСЯ!')");


Incorrect string value: '\xC4\xCE\xC1\xC0\xC2\xD1...' for column 'title' at row 1

Наводило, но я вроде бы правильно указал ячейки и значения.

З.Ы. Проверено huh.gif

Спустя 1 минута, 34 секунды (28.11.2009 - 23:17) Ka4_0k написал(а):
Цитата (Dezigo @ 28.11.2009 - 19:24)
oyeme да.
сделай просто NOW () + convert i cast

Ka4_0k  НЕТ NOW(Y-m-d) таково нет.

Моя плохая. Будем знать:) Знания не мешают. Почему то решил, что это аналогично UNIX_TIMESTAMP()
Андрей, а с кодировкой что?

Спустя 2 минуты, 17 секунд (28.11.2009 - 23:19) Андрей написал(а):
Цитата (sergeiss @ 28.11.2009 - 20:10)
А тебя вот это сообщение не наводит на мысль о том, что ты пытаешься вставить дату в колонку с именем title?
Покажи еще раз запрос, и именно тот, который вызывает именно эту ошибку!!!

А еще больше меня наводит на мысль, что здесь проблема с кодировкой, хотя в ШТМЛ и в таблице стоит кирилица 1251. blink.gif

Спустя 1 минута, 14 секунд (28.11.2009 - 23:21) Ka4_0k написал(а):
Посмотри сопоставление соединения с mysql. Это при старте пхпмайадмина сразу кажись написано. Ну или в начале запрос попробуй mysql_query("SET NAMES cp1251");
З.Ы. Могу ошибаться:) Но если попробуешь ничего страшного не случится.

Спустя 2 минуты, 47 секунд (28.11.2009 - 23:23) Андрей написал(а):
Цитата (Ka4_0k @ 28.11.2009 - 20:17)
Цитата (Dezigo @ 28.11.2009 - 19:24)
oyeme да.
сделай просто NOW () + convert i cast

Ka4_0k  НЕТ NOW(Y-m-d) таково нет.

Моя плохая. Будем знать:) Знания не мешают. Почему то решил, что это аналогично UNIX_TIMESTAMP()
Андрей, а с кодировкой что?

Вот сижу думаю, что с ней smile.gif <meta http-equiv="Content-Type" content="text/html" charset="windows-1251">
в базе cp1251_general_ci

Спустя 4 минуты, 42 секунды (28.11.2009 - 23:28) Андрей написал(а):
Цитата (Ka4_0k @ 28.11.2009 - 20:21)
Посмотри сопоставление соединения с mysql. Это при старте пхпмайадмина сразу кажись написано. Ну или в начале запрос попробуй mysql_query("SET NAMES cp1251");
З.Ы. Могу ошибаться:) Но если попробуешь ничего страшного не случится.

MySQL-кодировка: UTF-8 Unicode (utf8) - озадачил ты меня smile.gif в таблице 1251 здесь ютф8 huh.gif непАнятна.

З.Ы. Работаю с с-кю-эль и май ... соответственно три дня (вроди ничего сложного а вот такая зараза получается) если можно говори точнее куда что тыкать smile.gif

Спустя 2 минуты, 35 секунд (28.11.2009 - 23:31) Ka4_0k написал(а):
Вот её и поменяй на cp1251 если работаешь с ней (cp1251). Там же вроде бы из выпадающего списка можно выбрать.

Спустя 1 минута, 34 секунды (28.11.2009 - 23:32) Андей написал(а):
!!! черти меня побрали бы !!! ЗАРАБОТАЛО правда в другой таблице с таймстамп и если текст ввожу на латыни.

Спустя 1 минута, 37 секунд (28.11.2009 - 23:34) Ka4_0k написал(а):
Если на латыне, оно и так будет работать. Пропиши после соединения с базой
mysql_query("SET NAMES cp1251");

И пробуй ввести киррилицей.

Спустя 5 минут, 18 секунд (28.11.2009 - 23:39) Андрей написал(а):
Цитата (Ka4_0k @ 28.11.2009 - 20:34)
Если на латыне, оно и так будет работать. Пропиши после соединения с базой
mysql_query("SET NAMES cp1251");

И пробуй ввести киррилицей.

Прикол smile.gif)) добавил ->
mysql_query("SET NAMES cp1251");
-> ввел -> орполжролб ГДЕ -> получил skjgskjfh

Спустя 2 минуты, 31 секунда (28.11.2009 - 23:42) Андрей написал(а):
Цитата (Ka4_0k @ 28.11.2009 - 20:34)
Если на латыне, оно и так будет работать. Пропиши после соединения с базой
mysql_query("SET NAMES cp1251");

И пробуй ввести киррилицей.

Дурья я башка забыл переменную поставить вместо skjgskjfh вот и выдавало оно мне biggrin.gif
Заработало, спасибо и всем спасибо что участвовали в моей проблеме smile.gif

Спустя 3 минуты, 16 секунд (28.11.2009 - 23:45) Evilsoul написал(а):
Еще раз всем спасибо, даже зарегился на форуме, редко я это делаю smile.gif. Так что пишите, может и я добрым словом помогу cool.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.