Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Zapytanie do bazy
Forum PHP.pl > Forum > Przedszkole
lolo121
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
Kshyhoo
Zamiast rzucać mięsem, wklej swój kod...
lolo121
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
viking
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?
lolo121
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

castagir
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
Kshyhoo
No i wywaliło się GeHsi...
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.