Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Z PHP nie chce wysłąć zapaytania, a w konsoli w phpadmin'ie zapytanie działa ?, Gdzie błąd ?
warezxp
post
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 20.03.2007

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


Witam !

Chciałbym żeby skrypcik wysyłał zapytanie do mojej bazy, oczywiście napisałem odpowiednie zapytanie, przetestowałem je w konsoli w phpmyadmin'ie, oczywiście wszystko poszło dobrze z kolei skrypt PHP nie może wysłać tegoż zapytania o co "chodzi" ?

Oto zapytanie:
  1. require('db_connect.php');
  2. {
  3. $result = mysql_query("
  4. SET AUTOCOMMIT = 0;
  5. CREATE TABLE `nowa_tabela` (
  6. `id` SMALLINT NOT NULL ,
  7. `zadanie` TEXT CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
  8. `a` TEXT CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
  9. `b` TEXT CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
  10. `c` TEXT CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
  11. `d` TEXT CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
  12. `odpowiedz` TEXT CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL
  13. ) ENGINE = MYISAM ;
  14.  
  15. INSERT INTO `nowa_tabela` (SELECT *
  16. FROM `zadania` WHERE `id` >= 1 ORDER BY `id`);
  17.  
  18. TRUNCATE TABLE `zadania`;
  19.  
  20. INSERT INTO `zadania` (SELECT *
  21. FROM `nowa_tabela`); COMMIT;
  22. SET AUTOCOMMIT = 1;
  23. DROP TABLE `nowa_tabela`;")or die("Zapytanie niepoprawne");
  24. }


I niestety ciągle zwraca wartość FALSE ;/ Byłbym bardzo wdzięczny za pomoc.

Ten post edytował warezxp 22.12.2009, 19:15:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Mchl
post
Post #2





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Cytat
mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier .
Go to the top of the page
+Quote Post
skowron-line
post
Post #3





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Zwraca błąd ponieważ mysql_query może wykonać tylko jedno zapytanie.
Go to the top of the page
+Quote Post
warezxp
post
Post #4





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 20.03.2007

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


To w jaki sposób wysłać powyższe zapytanie ?
Go to the top of the page
+Quote Post
Mchl
post
Post #5





Grupa: Zarejestrowani
Postów: 855
Pomógł: 145
Dołączył: 17.07.2008
Skąd: High Memory Area

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


Po jednym zapytaniu na raz. Nie powinno być żadnych problemów.

Alternatywnie: http://pl2.php.net/manual/en/mysqli.multi-query.php
ale musiałbyś całość przepisać na ext/mysqli

P.S. I tak nie zrobisz tego w transakcji:
http://dev.mysql.com/doc/refman/5.0/en/implicit-commit.html

Ten post edytował Mchl 22.12.2009, 19:27:33
Go to the top of the page
+Quote Post
warezxp
post
Post #6





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 20.03.2007

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


Dzięki Mistrzu (IMG:style_emoticons/default/Rkingsmiley.png) jesteś wielki.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 17.09.2025 - 14:18