• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

niepoprawne załadowanie klucza z tablicy

Aruba Cloud - Virtual Private Server VPS
+2 głosów
172 wizyt
pytanie zadane 14 grudnia 2022 w PHP przez zbiku25 Gaduła (3,000 p.)

Uczę się mysqli (tak, wiem, że PDO również istnieje :) ). W poniższym kodzie chcę wywołać funckję read() a następnie wartość dla klucza "first_name" z tablicy. Tablica wyświetla się prawidłowo ale niestety wartość dla klucza już nie.
Wie ktoś może dlaczego?

https://onlinegdb.com/9UpokvE1d

Taki jest wynik kodu:

 

Array
(
    [0] => Array
        (
            [id] => 11
            [userid] => 0
            [first_name] => Piotr
            [last_name] => Żbikowsi
            [gender] => 
            [email] => 
            [password] => 
            [url_address] => 
            [date] => 2022-12-02 21:46:48
        )

)


Warning: Undefined array key "first_name" in C:\xampp\htdocs\social\classes\database.php on line 66

2 odpowiedzi

+3 głosów
odpowiedź 14 grudnia 2022 przez Wiciorny Ekspert (280,450 p.)
wybrane 14 grudnia 2022 przez zbiku25
 
Najlepsza

NIe wiem dokładnie jak wskazuje debuger, ale dla mnie to jest tablica której 1 elementem jest obiekt
Więc wyświetlasz tablice ... potem chcesz dobrać się do obiektu, potem do klucza tego obiektu
https://stackoverflow.com/questions/5924106/printing-out-a-php-array-of-type-object

echo $result2['first_name']; // niby sam obiekt 

echo $result2[0]['first_name']; // sprawdz tak

Nie dam gwarancji bo nie znam sie na php, ale podejrzewam że wskazujesz bezpośrednio na tablice, a nie do jej elementu a potem "do klucza tego obiektu"

komentarz 14 grudnia 2022 przez zbiku25 Gaduła (3,000 p.)
chyba jednak znasz się trochę na PHP, bo działa :)

Dziękuję
+1 głos
odpowiedź 15 grudnia 2022 przez VBService Ekspert (256,600 p.)
edycja 15 grudnia 2022 przez VBService

Skoro masz taki zapis

SELECT * FROM users WHERE id=11

można zakładać, że zostanie zwrócony jeden wiersz lub pusty wynik (false)

to możesz użyć array_reduce(), żeby z array 2D

Array
(
    [0] => Array
    (
        [id] => 11
        [userid] => 0
        [first_name] => Piotr
        [last_name] => Żbikowsi
        [gender] => gender
        [email] => email
        [password] => password
        [url_address] => url_address
        [date] => 2022-12-02 21:46:48
    )
 
)

zrobić array 1D

Array
(
    [id] => 11
    [userid] => 0
    [first_name] => Piotr
    [last_name] => Żbikowsi
    [gender] => gender
    [email] => email
    [password] => password
    [url_address] => url_address
    [date] => 2022-12-02 21:46:48
)

wtedy możesz użyć

[ on-line ]

echo $result2['first_name'];

 

komentarz 21 grudnia 2022 przez zbiku25 Gaduła (3,000 p.)
Dzięki serdeczne :)

Podobne pytania

0 głosów
1 odpowiedź 375 wizyt
0 głosów
1 odpowiedź 420 wizyt
pytanie zadane 25 czerwca 2015 w PHP przez kleofasso Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 203 wizyt

93,324 zapytań

142,323 odpowiedzi

322,390 komentarzy

62,653 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...