![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Pisząc skrypt natrafiłem na problem. Oto fragment kodu źródłowego w którym wystąpił błąd:
Cytat //Tworzenie tabeli w bazie danych
$query="CREATE TABLE news ( newsID INTEGER AUTO_INCREMENT PRIMARY_KEY, title VARCHAR (300), posted INTEGER, author VARCHAR (30), body MEDIUMTEXT)"; if (mysql_query($query)) { echo "Utworzenie tabeli... <font color=green><b>OK<//b><//font>"; } else { echo "Utworzenie tabeli... <font color=red><b>Error<//b><//font>"; exit; } Nie wiem dlaczego nie tworzy się tabela. Zaznaczam, że wcześniej zaznaczyłem bazę poleceniem mysql_select_db() . |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
1. BBCODE
2. dodaj kontrole błędów czyli mysql_error(). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wolałbym aby ktoś wyjaśnił mi jaki błąd jest w tym skrypcie. Aha i jeszcze jedno. Jak dodać tę kontrolę błędów i co ona mi daje.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 165 Pomógł: 9 Dołączył: 9.04.2002 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
wybrales baze, a ustanowiles polaczenie z nia?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
myslq_error zwraca tresc bledu ktory wystapil podczas wykonywania zapytania
co do bledu to PRIMARY_KEY musi byc NO NULL -------------------- Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD |
|
|
![]()
Post
#6
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Kontrole błędów dodajesz, żeby wiedzieć co jest źle w skrypcie, a dodajesz to wywołaniem 'print mysql_error()' w dobrych miejscach.
Tak na moje to dajesz za duży varchar, zawsze myślałem, że musi być mniejszy 255. a pk nie musi być not null, bo pk to jest już not null domyslnie. |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
mozliwe
![]() -------------------- Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jabol ma rację popełniłem błąd przy VARCHAR. Zaraz zobacze czy teraz wszystko gra.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dalej coś nie gra tyle, że teraz wiem trochę więcej. Taki kod wpisuję w sql:
Cytat CREATE TABLE news (newsID INTEGER AUTO_INCREMENT PRIMARY_KEY, title VARCHAR (100), posted INTEGER, author VARCHAR (30), body MEDIUMTEXT);
Błędu w kodzie nie ma. A taki wyświetla mi potem komunikat: Cytat Błąd
zapytanie SQL : CREATE TABLE news( newsID INTEGERAUTO_INCREMENTPRIMARY_KEY, title VARCHAR( 100 ) , posted INTEGER, author VARCHAR( 30 ) , body MEDIUMTEXT ) MySQL zwrócił komunikat: Something is wrong in your syntax obok 'AUTO_INCREMENTPRIMARY_KEY, title VARCHAR( 100 ) , posted INTEGE' w linii 1 Powrót Teraz mam pytanie: Dlaczego, skoro w sql wpisuje rozdzielnie integer auto.... to w błędzie zwraca mi to napisane razem? ![]() |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
moze INT zamiast INTEGER
-------------------- Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Już mówiłem, że kod jest poprawny. Sprawdzałem w książce o php.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
przenieś primary key do oddzielnej linijki i napisz primary i key oddzielnie, spróbuj tak:[sql:1:3c17f89c04]CREATE TABLE news(
newsID INT AUTO_INCREMENT, #można jeszcze spróbować NUMERIC(10) title VARCHAR( 100 ) , posted INTEGER, author VARCHAR( 30 ) , body MEDIUMTEXT, PRIMARY KEY (newsID) #oddzielnie ) [/sql:1:3c17f89c04] |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 260 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
wlasnie
![]() -------------------- Gentoo Linux 64bit / PHP 5.2 / MySQL 5.1
-> Administracja serwerami Linux i FreeBSD |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 30.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, wszystko gra:). Tylko powiedz mi Jabol czy ten kod napisany przez ciebie jest taki sam jak ten poprzedni tylko inaczej napisany??
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 467 Pomógł: 13 Dołączył: 22.02.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Tylko powiedz mi Jabol czy ten kod napisany przez ciebie jest taki sam jak ten poprzedni tylko inaczej napisany?? dokładnie taki sam, tylko inaczej napisany, jak mówisz
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.06.2025 - 09:43 |