ďťż

Problem z dodaniem danych [php][sql]

       

Podstrony


telcocafe

Witam. Problem może wydawać się trywialny ale coś jest nie tak i nie mogę zlokalizować błędu: oto fragment kodu php odpowiadajacy za wsadzenie danych do tabeli
$news_data = date("Y-m-d"); $news_title = $_POST['news_title']; $news_wstep = $_POST['news_wstep']; $news_rozwiniecie = $_POST['news_rozwiniecie']; $news_autor = $_POST['news_autor']; $query2 = "INSERT INTO `news` VALUES (NULL, '$news_title', '$news_wstep', '$news_rozwiniecie', "; $query2 .= "'$news_autor, '$news_date', NULL)"; $result2 = mysql_query($query2);

zaznacze, że zmienna $news_date jest wstawiane w pole typu DATE o parametrze DEFAULT '0000-00-00'

ktoś wie czemu to nie działa? podam jeszcze bledy jakie zwraca mi przegladarka:

Notice: Undefined variable: news_date in c:\usr\krasnal\www\dpcms\add_news.php on line 23

1064
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 'test, '', NULL)' at line 1




Pierwszy błąd: masz literówkę, zamieniłeś $news_data na $news_date ;)

fakt :)
teraz został jeszcze błąd: 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 'test, '', NULL)' at line 1

Nie masz jednego apostrofa przy $news_autor w zapytaniu ;)



bystre oko masz nie ma co :D

jednakże teraz mam to: 1136
Column count doesn't match value count at row 1

co śmieszne ilość zmiennych się zgadza i kolejność też

hmmm może istotne jest że ostatnia wartość czyli '1' jest do pola typu ENUM('0', '1') DEFAULT '1'

bo pierwsze NULL jest do pola AUTO_INCREMENT więc powinno być dobrze
Użytkownik Dawid-San edytował ten post 16 styczeń 2007, 19:44
Po nazwie tabelki musisz podać kolumny w nawiasach chyba :)

//edit:

Bystry, jak woda w kiblu

@down: ja tam takie błędy miałem, jak właśnie tych kolumn nie wpisywałem, co mnie też dziwiło... :blink:
Użytkownik pbnan edytował ten post 16 styczeń 2007, 19:48
Może zamiast pierwszego NULLa daj '' ?

@pbnan: nie musi.

@down: ja tam takie błędy miałem, jak właśnie tych kolumn nie wpisywałem, co mnie też dziwiło...
Gdzie tam ;)
(no chyba, że ja zawsze myślałem inaczej)
Użytkownik Coldpeer edytował ten post 16 styczeń 2007, 19:50
wstawienie pustego ciągu znaków zamiast null ( '' ) nic nie dało.
chłopaki to nie mam pojęcia gdzie jest problem....

zapytanie przeobiłem na takie:
$query2 = "INSERT INTO `news` (`news_id`, `news_title`, `news_wstep`, `news_rozwiniecie`, `news_autor`, `news_date`, `news_wyswietlenie`) VALUES "; $query2 .= "(NULL, '$news_title', '$news_wstep', '$news_rozwiniecie', "; $query2 .= "'$news_autor', '$news_date', '1')"; $result2 = mysql_query($query2);

i teraz zwraca
1054
Unknown column 'news_id' in 'field list'


sprawdziłem 5 razy...pole 'news_id' istnieje
Użytkownik Dawid-San edytował ten post 16 styczeń 2007, 20:01
hmm a może
$query2 = "INSERT INTO `news` (`news_title`, `news_wstep`, `news_rozwiniecie`, `news_autor`, `news_date`, `news_wyswietlenie`) VALUES "; $query2 .= "( '$news_title', '$news_wstep', '$news_rozwiniecie', "; $query2 .= "'$news_autor', '$news_date', '1')"; $result2 = mysql_query($query2);
u mnie zawsze działało :P. Chyba, że jest to jakiś błąd czy coś w tym stylu ;-).
Użytkownik muffy_3 edytował ten post 16 styczeń 2007, 20:47
hmmm zabawne...po tej przeróbce komunikat z błedem jest ten sam jednakże kolumna która jest żekomo nieznana to teraz news_title

nic nie rozumiem

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.