Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Resource id #6, e?
escaflowne
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


Witam!
Mam skrypt, który korzysta z sesji. Przy próbie wywołania zapytania SQL
  1. SELECT * FROM uzytkownicy WHERE email = 'adres@domena.pl'

dostaję taki oto komunikat błędu:
Cytat
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 'Resource id #6' at line 1

I szczerze mówiąc... nie wiem co z tym zrobić. Wprawdzie zawartość zapytania generowana jest dynamicznie, ale nawet po wstawieniu danych "na sztywno" wciąż straszy mnie ten komunikat. Jakieś sugestie? smile.gif


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
Vertical
post
Post #2





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Raczej ci nie pomogę, bo zapytanie jest napisane poprawnie... Przypuszczam, że jakiś błąd w MySQL... Posprawdzaj tabele itp. itd.

Ten post edytował Vertical 29.09.2004, 20:12:49
Go to the top of the page
+Quote Post
escaflowne
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


Dobra, problem rozwiązany. Okazało się, że:
zapytanie było trzymane w zmiennej $query. Dalej szło:
  1. <?php
  2. $query_make = mysql_query($query);
  3. ?>

I wszystko byłoby pięknie gdyby nie to, że w mysql_query() siedziało sobie $query_make zamiast $query. Dlatego nie chciało działać.

W międzyczasie pojawił się kolejny ciekawy problem. smile.gif
Wygląda to tak:
Wykonywane jest zapytanie. Na bazie tego, czy zwrócone zostaną jakieś wyniki czy nie tworzone jest zapytanie INSERT bądź UPDATE, które siedzi w zmiennej $query. Dalej zapytanie jest wykonywane przez $query_make. Tuż za tym jest:
  1. <?php
  2. $query_num = mysql_num_rows($query_make);
  3. ?>

I tu się robi ciekawie. Próba wykonania powyższego kodu zwraca błąd, natomiast samo zapytanie ($query) wykonywane jest poprawnie, bez błedu. Po użyciu:
  1. <?php
  2. echo $query_make;
  3. ?>

dostaję: 1. A powinno być: Resource #numerek. Sugestie bądź pomysły mile widziane smile.gif


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
Go to the top of the page
+Quote Post
Vertical
post
Post #4





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Chcesz wyświetlić dane, policzyć tabele, czy wyświetlić zawartość? Bo na wyświetlenie jest "mysql_fetch_array", a na wyświetlenie ile, to trzeba:
  1. <?php
  2. $query = &#092;"SELECT COUNT (*) AS ilosc FROM tabela\";
  3. $query_make = mysql_query($query);
  4. $query_num = mysql_fetch_array($query_make);
  5. $ilosc = $query_num['ilosc'];
  6. //Teraz dajesz żeby wyświetliło ilość:
  7. echo &#092;"$ilosc\";
  8.  
  9. ?>

Jeśli nie chodzi o któreś z powyższych, to powiedz, o co, bo chyba nie bardzo zrozumiałem co chciałeś wyświetlić...

Ten post edytował Vertical 30.09.2004, 14:44:44
Go to the top of the page
+Quote Post
escaflowne
post
Post #5





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


Chcę wstawić nowy (INSERT) bądź uaktualnić (UPDATE) istniejący rekord.
Okazuje się, że przy tego typu operacjach należy stosować mysql_affected_rows(). Wprawdzie nie działa do końca tak jak mysql_num_rows(), ale przy zastosowaniu kilku "sztuczek" mogę osiągnąć pożądany wynik. smile.gif


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
Go to the top of the page
+Quote Post
Vertical
post
Post #6





Grupa: Zarejestrowani
Postów: 848
Pomógł: 0
Dołączył: 7.07.2004
Skąd: Wrocław

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


Ja to robię po prostu tak:
  1. <?php
  2. $query = &#092;"UPDATE tabela SET costam = 'costam2'\";
  3. mysql_query($query);
  4.  
  5. ?>

I działa...
Go to the top of the page
+Quote Post
escaflowne
post
Post #7





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


Cytat(Vertical)
Ja to robię po prostu tak:
  1. <?php
  2. $query = &#092;"UPDATE tabela SET costam = 'costam2'\";
  3. mysql_query($query);
  4.  
  5. ?>

I działa...

No... to akurar wiem jak robić smile.gif
Ale potrzebuję wiedzieć czy zapytanie odniosło skutek, a jeżeli tak, to ile rekordów zostało tkniętych smile.gif


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
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 Aktualny czas: 20.08.2025 - 11:50