Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z edycją rekord - dziwny
Forum PHP.pl > Forum > Bazy danych > MySQL
deha21
Do systemu newsów dodałem nowe pole 'option' VARCHAR (255). Dodałem odpowiednie inputy do CMSa i tutaj zaczyna się problem. Przy dodawaniu nowego newsa i uzupełnieniu inputa dodaje się i wszystko jest ok. Przy edycji mam tak:
  1. <input type='text' name='option' value='".$row['option']."' id='option'>

I przy updatowaniu do bazy:
  1. $wynik=mysql_query("UPDATE news SET option='$option', title='$title', date='$date', category='$category', subcategory='$subcategory', active='$active', globalpriority='$globalpriority', image='$image', textlead='$textlead', textcontent='$textcontent' WHERE id='$id'");

Gdy usunę żeby nie updatowało optiona to wszystko działa. Jak go dodam to nie działa, nie wyskakuje nawet błąd - po prostu nic nie aktualizuje.
Zapewniam, że zmienna jest przesyłana bo wyświetliłem ją echem i ją pokazuje (jest w niej zwyczajny tekst). Nawet jak ustawiam na sztywno czyli:
  1. mysql_query("UPDATE news SET option='blablabla'

To nie aktualizuje :/

Co to może być?
nospor
Cytat
nie wyskakuje nawet błąd
No bo go nie wyswietlasz to niby jak ma wyskoczyc...
  1. $wynik=mysql_query("UPDATE news SET option='$option', title='$title', date='$date', category='$category', subcategory='$subcategory', active='$active', globalpriority='$globalpriority', image='$image', textlead='$textlead', textcontent='$textcontent' WHERE id='$id'") or die(mysql_error());

Teraz sobie popraw blad ktory ci wyskoczy i ladnie podziekuj winksmiley.jpg

A jakbys nie wiedzial co blad oznacza to zapoznaj sie z tym:
http://dev.mysql.com/doc/refman/5.1/en/reserved-words.html
A jesli nadal nie bedziesz wiedzial to przeanalizuj dokladnie to:
Cytat
Reserved words are permitted as identifiers if you quote them as described in Section 8.2, “Schema Object Names”:
mysql> CREATE TABLE interval (begin INT, end INT);
ERROR 1064 (42000): You have an error in your SQL syntax ...
near 'interval (begin INT, end INT)'

mysql> CREATE TABLE `interval` (begin INT, end INT);
Query OK, 0 rows affected (0.01 sec)
winksmiley.jpg

Tylko rob wszystko w kolejnosci jakiej ci podalem. Nie idź na skroty i nie zaczynaj od konca
deha21
To jest po prostu spisek! winksmiley.jpg Wcześniej domysliłem się, że to może być zarezerwowane słowo i użyłem 'optionn' ale też nie działało. Widocznie MySQL jest tak nieinteligenty, że nie umie sobie rozdzielić wyrazu od literki. Z tego wychodzi, że jakbym nazwał to pole "bukaoptionmumunki" to tez by wyskoczył błąd.

Myślałem, że error_reporting(E_ALL) pokazuje wszystkie błędy ale przecież to od PHP a nie od MySQLa.

Dzięki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.