Brak ocen
-
- Reactions:
- Posty: 1420
- Rejestracja: 22 listopada 2012, 13:44
- Has thanked: 8 times
- Been thanked: 7 times
A jaka tam jest ustawiona liczba ? Może walnąć jakiegoś maksymalnego INTEGER'a ?
]|[ Innocence Proves Nothing ]|[
Medea Trix: WS 28, BS 44, S 32, T 29, AG 41, INT 29, PER 40, WP 32, FEL 33 (12 wounds, 2 fate points)
Erias Kantar (Black Templar Marine): WS 53, BS 37, S 40, T 42, AG 51, INT 45, PER 45, WP 46, FEL 40 (23 wounds,4 fate points)
Medea Trix: WS 28, BS 44, S 32, T 29, AG 41, INT 29, PER 40, WP 32, FEL 33 (12 wounds, 2 fate points)
Erias Kantar (Black Templar Marine): WS 53, BS 37, S 40, T 42, AG 51, INT 45, PER 45, WP 46, FEL 40 (23 wounds,4 fate points)
Tym razem oceny nie działają także dla starych postów (id<65536). Przyczyna problemu najprawdopodobniej więc leży w innym miejscu.
Mój skromny dorobek jako gracza w PBF: http://www.krysztalyczasu.pl/nickpage.php?user=35
Kolejny błąd w skrypcie.
<body>
Incorrect integer value: '' for column 'rating_id' at row 1<span style="color: #009900; font-size: 11px
;">Ocenione!</span></body>
</html>
Czegoj - skąd pochodzi ten plugin? Możesz mi podać adres, abym mógł do niego zajrzeć ?
<body>
Incorrect integer value: '' for column 'rating_id' at row 1<span style="color: #009900; font-size: 11px
;">Ocenione!</span></body>
</html>
Czegoj - skąd pochodzi ten plugin? Możesz mi podać adres, abym mógł do niego zajrzeć ?
Ostatnio zmieniony 03 lutego 2016, 18:51 przez ghasta, łącznie zmieniany 1 raz.
Zgodnie ze skryptem tworzącym tabelę dla pluginu mamy coś takiego:
Pole rating_id powinno być inkrementowane automatycznie.
Czegoj - nie wiem które pole zwiększyłeś ostatnio (post_id ??), ale problemem jest zapytanie:
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES (tu przekręcił się licznik : -> '' <- , '".$post_id."', '".$userdata['user_id']."', '".$rating."')");
echo "<span style=\"color: #009900; font-size: 11px;\">".$locale['afpr_ajax_003']."</span>";
Musisz zrobić tak:
a) zapewne tym razem przekręcił się licznik dla pola rating_id (zresztą ktoś bezmyślnie założy, że tak mała wartość wystarczy jako index) i trzeba podnieść to pole do bigint
b) i zamiast cudzysłowu (zaznaczonego na niebiesko w strzałkach) wstaw wyraz DEFAULT -> znajdziesz tę linijkę w pliku
files\infusions\ajax_forum_post_ratings_panel\includes\rate.php linia 56
Powinno to wyglądać tak:
lub tak (sprawdź które zadziała - dawno nie używałem mysql-a)
Kod: Zaznacz cały
$inf_newtable[1] = DB_AFPR_RATINGS." (
rating_id SMALLINT(5) UNSIGNED NOT NULL AUTO_INCREMENT,
post_id SMALLINT(5) UNSIGNED NOT NULL,
user_id SMALLINT(5) UNSIGNED NOT NULL,
rating_type TINYINT UNSIGNED NOT NULL,
PRIMARY KEY (rating_id)
) ENGINE=MyISAM;";
Czegoj - nie wiem które pole zwiększyłeś ostatnio (post_id ??), ale problemem jest zapytanie:
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES (tu przekręcił się licznik : -> '' <- , '".$post_id."', '".$userdata['user_id']."', '".$rating."')");
echo "<span style=\"color: #009900; font-size: 11px;\">".$locale['afpr_ajax_003']."</span>";
Musisz zrobić tak:
a) zapewne tym razem przekręcił się licznik dla pola rating_id (zresztą ktoś bezmyślnie założy, że tak mała wartość wystarczy jako index) i trzeba podnieść to pole do bigint
b) i zamiast cudzysłowu (zaznaczonego na niebiesko w strzałkach) wstaw wyraz DEFAULT -> znajdziesz tę linijkę w pliku
files\infusions\ajax_forum_post_ratings_panel\includes\rate.php linia 56
Powinno to wyglądać tak:
Kod: Zaznacz cały
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (post_id, user_id, rating_type) VALUES ('".$post_id."', '".$userdata['user_id']."', '".$rating."')");
lub tak (sprawdź które zadziała - dawno nie używałem mysql-a)
Kod: Zaznacz cały
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id,post_id, user_id, rating_type) VALUES (DEFAULT, '".$post_id."', '".$userdata['user_id']."', '".$rating."')");
-
- Site Admin
- Reactions:
- Posty: 3837
- Rejestracja: 18 listopada 2008, 23:34
- Has thanked: 5 times
- Been thanked: 10 times
- Kontakt:
ghasta ani jedna ani druga forma nic nie dały. Oczywiście wszelkie wartości w bazie w tym panelu zmieniłem na bigint, dalej gówno. Jeszcze jakieś pomysły?
Zamieszczam screena z ustawień bazy może to coś pomoże.
Nie mam pojęcia co się za tym wszystkim kryje, ale również możliwość dodawania obrazków przez użytkowników siadła. Wygląda to trochę tak jakby serwer nie przyjmował informacji w określonych sektorach. Może to jakieś uprawnienia do zapisu lub coś takiego?
Zamieszczam screena z ustawień bazy może to coś pomoże.
Nie mam pojęcia co się za tym wszystkim kryje, ale również możliwość dodawania obrazków przez użytkowników siadła. Wygląda to trochę tak jakby serwer nie przyjmował informacji w określonych sektorach. Może to jakieś uprawnienia do zapisu lub coś takiego?
Ostatnio zmieniony 03 lutego 2016, 21:35 przez czegoj, łącznie zmieniany 1 raz.
W insercie nie zgadza się ilość kolumn:
<body>
Column count doesn't match value count at row 1<span style="color: #009900; font-size: 11px;">Ocenione!</span></body>
Jak teraz wygląda insert do bazy - Zmieniałeś plik rate.php? Wróć do jego starej wersji, czyli:
p.s.
Nie ma to jak konrespondencyjne poprawianie błędów.
<body>
Column count doesn't match value count at row 1<span style="color: #009900; font-size: 11px;">Ocenione!</span></body>
Jak teraz wygląda insert do bazy - Zmieniałeś plik rate.php? Wróć do jego starej wersji, czyli:
Kod: Zaznacz cały
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES ('', '".$post_id."', '".$userdata['user_id']."', '".$rating."')");
p.s.
Nie ma to jak konrespondencyjne poprawianie błędów.
Nie da się inaczej napisać
Wróciliśmy do starego problemu po przywróceniu pliku.
Incorrect integer value: '' for column 'rating_id' at row 1
Proponowałem dwa rozwiązania - jedno z wartością DEFAULT drugie bez
pola rating_id w insercie.
Więc spróbujmy jeszcze inaczej.
Zamień wspomnianą linijkę - zaznaczone na niebiesko zmieniasz - !! nie zapomnij o cudzysłowiu '' w ramach VALUES(
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES ('', '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );
1 opcja
wstawiasz czerwone ( - sprawdź czy działa po pierwszej, jeśli nie - sprawdź czy działa po drugiej i trzeciej - przy php wystarczy zwykłe odświeżenie strony)
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (post_id, user_id, rating_type) VALUES (NULL, '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " ) ;
2 opcja
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." ( post_id, user_id, rating_type) VALUES ( 0 , '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );
3 opcja (teoretycznie najlepsza)
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." ( post_id, user_id, rating_type) VALUES ( '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );
Spójrz tu:
Incorrect integer value: '' for column 'id' at row 1
Wróciliśmy do starego problemu po przywróceniu pliku.
Incorrect integer value: '' for column 'rating_id' at row 1
Proponowałem dwa rozwiązania - jedno z wartością DEFAULT drugie bez
pola rating_id w insercie.
Więc spróbujmy jeszcze inaczej.
Zamień wspomnianą linijkę - zaznaczone na niebiesko zmieniasz - !! nie zapomnij o cudzysłowiu '' w ramach VALUES(
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (rating_id, post_id, user_id, rating_type) VALUES ('', '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );
1 opcja
wstawiasz czerwone ( - sprawdź czy działa po pierwszej, jeśli nie - sprawdź czy działa po drugiej i trzeciej - przy php wystarczy zwykłe odświeżenie strony)
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." (post_id, user_id, rating_type) VALUES (NULL, '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " ) ;
2 opcja
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." ( post_id, user_id, rating_type) VALUES ( 0 , '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );
3 opcja (teoretycznie najlepsza)
$result = dbquery("INSERT INTO ".DB_AFPR_RATINGS." ( post_id, user_id, rating_type) VALUES ( '".$post_id."', '".$userdata['user_id']."', '".$rating."' ) " );
Spójrz tu:
Incorrect integer value: '' for column 'id' at row 1