Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Błąd przy tworzeniu tabeli w PHP
deha21
post 26.01.2018, 14:23:05
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Mam problem z utworzeniem tabeli w bazie za pomocą PHP. Sam poniższy kod działa gdy wrzucę go do konsoli MySQL, ale w skrypcie nie działa.
  1. $sql = "CREATE TABLE admin (id tinyint(2) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY, login varchar(50) NOT NULL, password char(40) NOT NULL, lang varchar(2) NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
  2. $sql .= "CREATE TABLE main (id tinyint(3) NOT NULL AUTO_INCREMENT PRIMARY KEY, name varchar(100) NOT NULL, code char(5) NOT NULL, city varchar(50) NOT NULL, status tinyint(1) NOT NULL, description varchar(1000) NOT NULL, image varchar(500) NOT NULL, position tinyint(5) unsigned NOT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;";
  3. $this->db->query($sql);

Połączenie do bazy jest na pewno dobre, bo gdy mam daję tylko jedno zostawię tylko jedno zapytanie $sql (inne wykomentuje) to się dodaje.


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
nospor
post 26.01.2018, 14:25:50
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




php moze wykonywac tylko jedno zapytanie naraz. Ty mu wrzucasz dwa.

Na przyszlosc czytaj komunikaty bledow. Przenosze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
deha21
post 26.01.2018, 14:27:29
Post #3





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Komunikat błędu brzmiał:
  1. 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 'CREATE TABLE devices (id tinyint(3) NOT NULL AUTO_INCREMENT PRIMARY KEY, name va' at line 1

Więc nic to kompletnie nie mówi.

Znalazłem rozwiązanie, trzeba zrobić:
  1. $this->db->multi_query($sql);


--------------------
Go to the top of the page
+Quote Post
nospor
post 26.01.2018, 14:43:34
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




To juz teraz wiesz, ze jak blad mowi, ze masz cos nie tak z poczatkiem zapytania, znaczy ze tego zapytania tam w ogole byc nie powinno wink.gif
Zapytania mogles tez odpalic oddzielnie jak ci sugerowalem. Osobiscie nie mam zaufania do takich multiquery


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 26.01.2018, 14:57:53
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ta... a na dodatek pokazałes zapytania które nie miały nic wspólnego z błędem...
Go to the top of the page
+Quote Post
deha21
post 26.01.2018, 15:08:59
Post #6





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Cytat(Pyton_000 @ 26.01.2018, 14:57:53 ) *
Ta... a na dodatek pokazałes zapytania które nie miały nic wspólnego z błędem...

Jakbym wiedział, że nie chodzi o same zapytania a o multi_query to bym tu nie pisał... Po to jest forum by pytać....


--------------------
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: 13.08.2025 - 23:41