Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP + mySQL] Problem z załadowaną bazą mySQL
krzys444
post 29.09.2009, 20:28:09
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 29.09.2009

Ostrzeżenie: (0%)
-----


Witam

Zainstalowałem skrypt php który pracuje na bazie mySQL ale przy załadowaniu bazy w PHPmyAdmin wyskakuje mi taki błąd (pod kodem źródłowym):

Kod
--
CREATE TABLE `testurls` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`bannerurl` varchar( 200 ) NOT NULL default '',
`uid` int( 11 ) NOT NULL default '0',
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` )
) TYPE = MYISAM AUTO_INCREMENT =8;
--
-- Dumping data for table `testurls`
--
INSERT INTO `testurls`
VALUES ( 1, 'http://test1.pl/banner.gif', 1 );
INSERT INTO `testurls`
VALUES ( 3, 'http://test2.pl/banner.jpg', 2 );
INSERT INTO `testurls`
VALUES ( 4, 'http://test3.pl/banner.jpg', 3 );
INSERT INTO `testurls`
VALUES ( 7, 'http://test4/ban11.jpg', 6 );
-- --------------------------------------------------------
--
-- Table structure for table `testuser`
--
CREATE TABLE `testuser` (
`id` int( 11 ) NOT NULL AUTO_INCREMENT ,
`login` varchar( 20 ) NOT NULL default '',
`pass` varchar( 20 ) NOT NULL default '',
`name` varchar( 200 ) NOT NULL default '',
`email` varchar( 100 ) NOT NULL default '',
`url` varchar( 200 ) NOT NULL default '',
`exposures` int( 11 ) NOT NULL default '0',
`credits` decimal( 20, 2 ) NOT NULL default '0.00',
`clicks` int( 11 ) NOT NULL default '0',
`siteclicks` int( 11 ) NOT NULL default '0',
`approved` tinyint( 4 ) NOT NULL default '0',
`defaultacct` tinyint( 4 ) NOT NULL default '0',
`raw` blob,
`lastip` text NOT NULL ,
PRIMARY KEY ( `id` ) ,
UNIQUE KEY `id` ( `id` , `login` )
) TYPE = MYISAM AUTO_INCREMENT =7;
--
-- Dumping data for table `testuser`
--
INSERT INTO `testuser`
VALUES ( 1, 'test1', '123456', 'Krzysztof', 'test1@wp.pl', 'http://test1.pl', 1237,

999967.00, 5, 0, 1, 0, '');
INSERT INTO `testuser`
VALUES ( 2, 'test2', '123456', 'Admin', 'test2@wp.pl', 'http://test2.pl', 39347,

62441.60, 38, 10, 1, 1, '');
INSERT INTO `testuser`
VALUES ( 3, 'test3', '123456', 'Krzychu', 'test3@wp.pl', 'http://test3.pl', 4555,

999961.00, 4, 30, 1, 0, '');
INSERT INTO `testuser`
VALUES ( 6, 'test4', '123456', 'Krzys', 'test4@wp.pl', 'http://test4.pl', 8186, 0.40, 13,

32, 1, 1, '');


MySQL zwrócił komunikat:  
#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 'INSERT INTO `testadmin` VALUES (1,
'admin', '123456');# Zmodyfikowanych rekord' at line 18


Niestety SQLa znam podstawy albo nawet mniej i nie wiem co nie tak jest w tym kodzie źródłowym, że skrypt php nie chce działać z bazą. Niby nie ma żandych komunikatów błędów ale przy logowaniu na admina wyskakuje tak jakby były nieprawidłowe dane albo nie istaniał :/
No właśnie, i co oznacza ten błąd #1064 w tym przypadku

Edit:
Podejrzewam że możebyć to też związane z tym że pierwotnie było to robione na starszą baze danych mysql a teraz przy 5 wersji się sypie :/
Go to the top of the page
+Quote Post
jmail
post 30.09.2009, 05:06:50
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

Ostrzeżenie: (0%)
-----


Po pierwsze z kodu, który podałeś ten błąd nie ma prawa wyniknąć, więc nie podałeś całego kodu.

Po drugie jak podasz cały kod to się obada

Po trzecie ten błąd oznacza błąd składni, czyli masz gdzieś hmmm za dużo nawiasów, niedomkniete jakieś badziewie, albo na przykład brak średnika
Go to the top of the page
+Quote Post
Brick
post 3.10.2009, 13:17:53
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 9
Dołączył: 16.02.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Zaimportowałem ten kod u siebie i błąd pokazał się gdzie indziej:
Column count doesn't match value count at row 1

W tabeli testuser masz zdefiniowane 14 pól, a w instrukcji INSERT jest ich 13. Brakuje danych dla pola "lastip".

Przy okazji, jeżeli jest to pole w którym będzie zapisywany nr IP użytkownika, to nie potrzeba definiować tego pola jako TEXT (które jest przeznaczone do przechowywania dużej ilości danych) tylko jako VARCHAR.

Czemu masz komunikat z innym błędem to nie mam pojęcia, z wklejonego kodu to nie wynika. Na pewno wklejasz ten kod który importujesz?

Ten post edytował Brick 3.10.2009, 13:19:15


--------------------
Wszystko należy robić najprościej jak się da, ale nie prościej
Albert Einstein
Go to the top of the page
+Quote Post
Brick
post 3.10.2009, 16:29:11
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 9
Dołączył: 16.02.2004
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Sprawdzałem właśnie kod z tego drugiego posta.
Masz to wszystko zapisane w jakimś pliku sql? Wyślij mi na e-mail brickbazooka@interia.pl. Sprawdze po prostu u siebie i będzie jasne co jest z tym źle.


--------------------
Wszystko należy robić najprościej jak się da, ale nie prościej
Albert Einstein
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:02