Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Zapytanie do bazy
lolo121
post
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.09.2014

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


Hejka

Próbuje i próbuje i co raz bardziej jestem wkurzony


Mam
- bazę danych o nazwie: forum
- kilkanaście tabeli, mnie interesuje: forum_users

W tej tabeli mam jednego użytkownika i dane jak np. user_id "1", user_name "mojnick" [...] ip_address "127.0.0.1"

Wygląda to tak:



Teraz chciałbym, aby skrypt PHP z bazy danych pobrał to ip_address i następnie dał możliwość umieścić to, co pobrał pomiędzy <td></td>


Już mnie to wkurza, bo dłubie to półtorej godziny i za przeproszeniem [ciach], raz wywala

mysql_fetch_array() expects parameter 1 to be resource, boolean given in

po przerobieniu na coś innego

mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

po przeróbce..

syntax error, unexpected 'if' (T_IF), expecting ',' or ';' in


i nic mi nie wychodzi. Cholery można z tym dostać

Proszę o pomoc
Powód edycji: [Kshyhoo]: słowa niecenzuralne
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Zamiast rzucać mięsem, wklej swój kod...


--------------------
Go to the top of the page
+Quote Post
lolo121
post
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.09.2014

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


Cytat(Kshyhoo @ 21.12.2014, 18:31:48 ) *
Zamiast rzucać mięsem, wklej swój kod...


Te moje "próby" już usunąłem

Edit


Przykładowo coś takiego

$IP_query = $mysqli->query("SELECT ip_address FROM `forum_users`");

<td>$IP_query</td> // wyświetlenie wyniku


A zwraca

Catchable fatal error: Object of class mysqli_result could not be converted to string in <---ŚCIEŻKA---> on line ktoraśtam

Ten post edytował lolo121 21.12.2014, 18:39:21
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Bo się nawet nie pofatygowałeś do dokumentacji zobaczyć co zwraca query http://php.net/manual/en/mysqli.query.php

Cytat
Returns FALSE on failure. For successful SELECT, SHOW, DESCRIBE or EXPLAIN queries mysqli_query() will return a mysqli_result object. For other successful queries mysqli_query() will return TRUE.


Czyli query zwraca wynik http://php.net/manual/en/class.mysqli-result.php na którym robisz np $IP_query->fetch_array().

KOlejna sprawa.
Kod
<td>$IP_query</td>
O ile tam nie masz echo "<td>$IP_query</td>"; to chyba oczywiste że będzie błąd?


--------------------
Go to the top of the page
+Quote Post
lolo121
post
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 28.09.2014

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


Cytat(viking @ 21.12.2014, 18:59:17 ) *
Bo się nawet nie pofatygowałeś do dokumentacji zobaczyć co zwraca query http://php.net/manual/en/mysqli.query.php



Czyli query zwraca wynik http://php.net/manual/en/class.mysqli-result.php na którym robisz np $IP_query->fetch_array().

KOlejna sprawa.
Kod
<td>$IP_query</td>
O ile tam nie masz echo "<td>$IP_query</td>"; to chyba oczywiste że będzie błąd?


Dziękuję bardzo za wytłumaczenie

Poszukałem jeszcze w google i wreszcie znalazłem temat, który mi pomógł

http://forum.4programmers.net/Newbie/24064...yswietlanie_ich

Dzięki temu nareszcie działa to poprawnie


Wielkie dzięki! Twój post nakierował mnie na ten temat


Oto efekt, który chciałem i właśnie uzyskałem smile.gif



Ten post edytował lolo121 21.12.2014, 19:34:13
Go to the top of the page
+Quote Post
castagir
post
Post #6





Grupa: Zarejestrowani
Postów: 146
Pomógł: 3
Dołączył: 28.10.2014

Ostrzeżenie: (10%)
X----


Niedawno sam rozwiązywałem takie problemy biggrin.gif

Choć jeszcze raczkuję w tych tematach to znam odpowiedź.

Po pierwsze musisz się po woli oduczać używania zapytań mysql_/mysqli, gdyż niedługo ta metoda przestanie być wspierana a w przyszłych wersjach PHP w ogóle zostanie wycofana.
Zacznij się uczyć PDO. Trudne na początku, ale jak tylko przyswoisz trochę programowania obiektowego to przestanie być udręką.


Przejdźmy do Twojego problemu:

Nie udawało się Tobie, bo próbowałeś wyświetlić tablicę. Twój sposób działa na integer i string.

Zacznijmy od początku.

Po pierwsze ustanowienie polaczenia:
  1. $polaczenie_z_bd = ('mysql:host=localhost;dbname=nazwabazy', $uzytkownik, $haslo);
  2. Na tej konstrukcji bedziesz opieral wszystkie swoje zapytania.


Teraz przygotowujesz pytanie:
  1. $pytanie = $polaczenie_z_bd->prepare ("SELECT * FROM `nazwa_tabeli` WHERE warunek=:parametr");
  2. $pytanie->bindValue(':parametr', $parametr, PDO::PARAM_STR);


Wykonujesz pytanie:
  1. $pytanie->execute();


Teraz przypisujesz wynik zapytania do zmiennej poprzez parametr:
  1. while ($w = $pytanie->fetch(PDO::FETCH_ASSOC) {
  2. $zmienna = $w['klucz']; }


Teraz $zmienna posiada interesującą cię wartość.

To jest sposób, którego używam do wyciągnięcia wyniku zapytania do zmiennej.
Sam szukam odpowiedzi na pytanie jak robić pętle, które tworzą zmienne i przypisują do nich unikatowe dane.

EDIT: Teraz poprawione specool.gif

Ten post edytował castagir 21.12.2014, 20:35:35
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #7





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




No i wywaliło się GeHsi...


--------------------
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: 21.08.2025 - 19:42