С 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) - что это такое?
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) таково нет.
сделай просто NOW () + convert i cast
Ka4_0k НЕТ NOW(Y-m-d) таково нет.
Спустя 4 минуты, 13 секунд (28.11.2009 - 22:28) Guest написал(а):
Спустя 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, понятно описывает причину
Спустя 1 минута, 4 секунды (28.11.2009 - 22:33) Dezigo написал(а):
Спустя 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() |
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) | ||
Я не любитель 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
Наводило, но я вроде бы правильно указал ячейки и значения.
З.Ы. Проверено
Спустя 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.
Спустя 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) | ||
Моя плохая. Будем знать:) Знания не мешают. Почему то решил, что это аналогично UNIX_TIMESTAMP() Андрей, а с кодировкой что? |
Вот сижу думаю, что с ней <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) - озадачил ты меня в таблице 1251 здесь ютф8 непАнятна.
З.Ы. Работаю с с-кю-эль и май ... соответственно три дня (вроди ничего сложного а вот такая зараза получается) если можно говори точнее куда что тыкать
Спустя 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"); И пробуй ввести киррилицей. |
Прикол )) добавил ->
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 вот и выдавало оно мне
Заработало, спасибо и всем спасибо что участвовали в моей проблеме
Спустя 3 минуты, 16 секунд (28.11.2009 - 23:45) Evilsoul написал(а):
Еще раз всем спасибо, даже зарегился на форуме, редко я это делаю . Так что пишите, может и я добрым словом помогу