Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Resource id #6
Forum PHP.pl > Forum > Bazy danych > MySQL
escaflowne
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
Vertical
Raczej ci nie pomogę, bo zapytanie jest napisane poprawnie... Przypuszczam, że jakiś błąd w MySQL... Posprawdzaj tabele itp. itd.
escaflowne
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
Vertical
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ć...
escaflowne
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
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...
escaflowne
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
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.