Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql]Nie może stworzyć tabeli
Forum PHP.pl > Forum > Przedszkole
$liwa
Jako, że jestem noobek w MySQL to mam pytanie dlaczego nie chce mi zrobić tabelki:

  1. <?php
  2. mysql_connect("localhost","Sliwa","*****");
  3. $zapytanie = "CREATE TABLE daneosobowe ( ".
  4. "id int(11) DEFAULT '0' NOT NULL auto_increment, ".
  5. "imie char(30), ".
  6. "nazwisko char (30), ".
  7. "dataur date DEFAULT '0000-00-00' NOT NULL, ".
  8. "adres blob, ".
  9. "telefon int(15), ".
  10. "UNIQUE id (id), ".
  11. "PRIMARY KEY (id) ".
  12. ")";
  13. $wynik = mysql_query($zapytanie);
  14. if($wynik) echo "Tabela założona prawidłowo !<br>";
  15. else {
  16. echo "Blad ! Tabela nie została założona !<br>";
  17. }
  18. $zapytanie = "INSERT INTO dane VALUES(1,'Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325')";
  19. $wynik = mysql_query($zapytanie);
  20. if($wynik) echo "Pierwszy rekord dodany prawidłowo !<br>";
  21. else {
  22. echo "Błąd ! Pierwszy rekord nie został dodany !<br>";
  23. }
  24. ?>
Cysiaczek
1. Podaj komunikat błędu, bo np.
Cytat
mysql_select_db(items); // chyba nie tak...
mysql_select_db("items"); // ale tak juz ok smile.gif


2. Używasz autoincrement. W zapytaniu dodającym rekord nie wypałniej tego pola - zostaw puste, samo sie wypełni <''>

3. Dodaj do wszytskich funcji mysql
  1. <?php
  2. mysql_xxx() or die("komunikat błedu"); //
  3. ?>
$liwa
Oki wystarczyło usunąć to autoincrement ale teraz jest bląd i wyrzuca to echo ze nie moze stworzyc rekordu.
Lonas
  1. CREATE TABLE `automaty` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `imie` char(30) NOT NULL DEFAULT '',
  4. `nazwisko` char(50) NOT NULL DEFAULT '',
  5. `kolor` varchar(100) NOT NULL DEFAULT '',
  6. `rodzaj` varchar(30) NOT NULL DEFAULT '',
  7. UNIQUE (`id`)
  8. PRIMARY KEY (`id`)
  9. ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

itd..
powinno dzialach

edit :

Źle zrozumiałem - tableka się tworzy tak smile.gif ale dane nie dodawały
Cysiaczek
  1. <?php
  2. $zapytanie = "INSERT INTO dane (pole1, pole2, pole3, pole4, pole5, pole6) VALUES('','Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325')";
  3. ?>
$liwa
Aktualnie wyglada to tak:
  1. <?php
  2. mysql_connect("localhost","Sliwa","*****");
  3. mysql_select_db("items");
  4. $zapytanie = "CREATE TABLE daneosobowe ( ".
  5. "id int(11) DEFAULT '0' NOT NULL, ".
  6. "imie char(30), ".
  7. "nazwisko char (30), ".
  8. "dataur date DEFAULT '0000-00-00' NOT NULL, ".
  9. "adres blob, ".
  10. "telefon int(15), ".
  11. "UNIQUE id (id), ".
  12. "PRIMARY KEY (id) ".
  13. ")";
  14. $wynik = mysql_query($zapytanie);
  15. if($wynik) echo "Tabela założona prawidłowo !<br>";
  16. else {
  17. echo "Blad ! Tabela nie została założona !<br>";
  18. }
  19. $zapytanie = "INSERT INTO dane (pole1, pole2, pole3, pole4, pole5, pole6) VALUES('','Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325')";
  20. $wynik = mysql_query($zapytanie);
  21. if($wynik) echo "Pierwszy rekord dodany prawidłowo !<br>";
  22. else {
  23. echo "Błąd ! Pierwszy rekord nie został dodany !<br>";
  24. }
  25. ?>

I rekord sie nadal nie tworzy:/ z tabela juz nie ma problemów
Cysiaczek
ehh. tongue.gif
Zastąp te pole1, pole2 itd... nazwami swoich pól w tabeli. laugh.gif
Lonas
Sprawdz tak :
  1. <?php
  2. $wynik = mysql_query("INSERT INTO dane VALUES('','Jan','Kowalski','1981-12-28','ul.Długa 6 m 23 Toruń','7632325')")or die(mysql_error());
  3. ?>
$liwa
Cytat
ehh. tongue.gif
Zastąp te pole1, pole2 itd... nazwami swoich pól w tabeli. laugh.gif

Pozwól, że nie skomentuje;p

Taki bląd: Table 'items.dane' doesn't exist
MrMag
no pewnie, ze nie. bo robiles: CREATE TABLE daneosobowe tongue.gif
$liwa
Oki dzięki wszsytkim za pomoc i cierpliwość idę dalej kodzić:D
Manfred
Witam,
Przepraszam, że sie wtrące w temat, ale mam podobny problem. Na początku też nie mogłem utworzyć tabeli, na szczęście jakoś sobie z tym poradziłem teraz mam inny problem...:
  1. <?php
  2. $connet = mysql_connect("host", "login", "haslo") or die ("Nie mozna sie połaczyc z baza.");
  3.  
  4. $id = "1";
  5. $subject = "Lorem ipsum";
  6. $concent = "Nowy dzial na stronie i nie tylko.";
  7. $data = "2006";
  8.  
  9. mysql_select_db("nesnews");
  10.  
  11. $insert = "INSERT INTO news (news_id, news_name, news_concent, news_data)".
  12. "VALUES ($id, $subject, $concent, $data)";
  13.  
  14. $results = mysql_query($insert) or die (mysql_error());
  15.  
  16. echo "News zostal dodany!";
  17. ?>

I wyskakuje mi błąd:
"Something is wrong in your syntax obok 'ipsum, Nowy dzial na stronie i nie tylko., 2006)' w linii 1"
Z góry bardzo dziękuje za pomoc :-)
Pozdrawiam
Lonas
Spróbuj tak :

  1. <?php
  2. $res = mysql_query("INSERT INTO news VALUES ('$id', '$subject',' $concent', '$data')") or die (mysql_error());
  3. ?>
Manfred
Niestety sadsmiley02.gif sadsmiley02.gif teraz wyskakuje... "Column count doesn't match value count at row 1".
ikioloak
Wartosci tekstowe + daty podajesz w apostrofach a wartosci liczbowe bez. Czyli Lonas napisal prawie dobrze:
  1. <?php
  2. $insert = "INSERT INTO news (news_id, news_name, news_concent, news_data) VALUES ($id, '$subject', '$concent', '$data')";
  3. ?>

A wartosci id nie masz czasem ustawionej na auto_increment?
Manfred
No właśnie jak popatrzyłem, że u niego są apostrofy to też zrobiłem i działa!
Cytat
A wartosci id nie masz czasem ustawionej na auto_increment?

Mam ustawioną, ale to chyba dobrze?
Jeszcze raz wielkie dzięki smile.gif
ikioloak
Dobrze, ale jej w tym momencie nie podawaj. Baza sama bedzie nadawac wartosc temu polu.
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.