Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Mysql_fetch_array a wersja php
Forum PHP.pl > Forum > Przedszkole
Colder
Witam,
mój problem polega na tym, że na hostingu X, na którym pół roku temu człowiek Y zaczął robić stronę funkcja mysql_fetch_array działała poprawnie, teraz dostałem ową stronę jednak na moim hostingu z wersją php 5.2.14 funkcja ta działa błędnie, przykład zastosowania:
Kod
     <?php
        if(isset($_GET['podanie']) and is_numeric($_GET['podanie']) and !isset($_GET['akcja'])){
          $zapytanie_podanie = "SELECT * FROM ".$prefix."forum_users WHERE user_id=".$_GET['podanie']."";
          $rezultat_podanie = mysql_query($zapytanie_podanie) or die("Wystapil blad");
          while($array_podanie = mysql_fetch_array($rezultat_podanie)){ ?>
      <div id="player_panel_side_right_top">
        Sprawdzanie podania
      </div>
      <div id="player_panel_content">
        <form action="index.php?strona=pp&podanie_zatwierdz=<?php echo $_GET['podanie']; ?>" method="post">
          <div class="div_pole">
            <strong>Odpowiedz 1:</strong> <br /><?php echo $array_podanie['odpow1']; ?>
          </div>
          <div class="div_pole">
            <strong>Odpowiedz 2:</strong> <br /><?php echo $array_podanie['odpow2']; ?>
          </div>
          <div class="div_pole">
            <strong>Odpowiedz 3:</strong> <br /><?php echo $array_podanie['odpow3']; ?>
          </div>


Jak widać tutaj została użyta funkcja:
Kod
while($array_podanie = mysql_fetch_array($rezultat_podanie)){ ?>


Jednak np tu:
Kod
<strong>Odpowiedz 1:</strong> <br /><?php echo $array_podanie['odpow1']; ?>

Po : nie znajduję się wartość z tabeli MySQL.

Proszę o pomoc, tak używana funkcja znajduje się w całej stronie którą niedawno kupiłem, bez Waszej pomocy nic nie będzie działać poprawnie sad.gif
Pozdrawiam.
bastard13
Dodaj do kodu:
var_dump($rezultat_podanie)
i napisz co ci zwraca.
Colder
Kod
resource(19) of type (mysql result)
Mephistofeles
Zamień na fetch_assoc, albo dodaj drugi parametr MYSQL_ASSOC.
Tak w ogóle jaki błąd wychodzi?
Colder
Kod
Zamień na fetch_assoc, albo dodaj drugi parametr MYSQL_ASSOC.

Ojojoj, mógłbym łaskawie prosić nieco bardziej zrozumiale dla prostego ludu ? smile.gif
Co mam zmienić ?
Tą funkcję:
mysql_fetch_array
zamienić na:
fetch_assoc ?

Nie pojawia się błąd, po prostu w miejscy gdzie powinien być tekst z zapytania nie ma nic.

Z tego co gdzieś czytałem ASSOC to litery a jeżeli będzie np:
Kod
$array_podanie['0']

To wtedy co mam zrobić ?

A czy mogę dodać do tej funkcji co teraz jest MYSQL_BOTH ?
I w tedy będzie się to tyczyło i licz i cyfr.
Mam w całej stronie tak popisane jak na w/w przykładzie wiec ciężko będzie to wszystko zamieniać :/
Mephistofeles
mysql_fetch_assoc zwraca tablicę asocjacyjna, czyli kluczami są nazwy pól w bazie. Btw '0' to nadal tekst (choć mogę się mylić, PHP jest specyficzne pod względem typów), co innego gdyby kluczem było samo 0.
Teoretycznie domyślnie jest MYSQL_BOTH, ale warto sprawdzić tylko dla tablicy asocjacyjnej żeby wykluczyć błąd w tym miejscu.
Colder
Racja, ale ja wiem iż na hostingu pana Y to działa smile.gif
Było tak:
Pan Y robił mi stronę i ja sobie ją testowałem na jego hostingu, potem przekazał mi pliki a teraz gdy je wgrałem na swój hosting ta funkcja działa niepoprawnie. sad.gif
Moja wersja php to 5.2.14 niestety nie wiem jak wersja była stosowana u pana Y, jednak ten jego hosting wraz z moją stroną jest robiony już pół roku więc może on mieć jakąś nieaktualną wersję...
Jeżeli to ważne mogę spróbować uzyskać taką informację.
Mephistofeles
Pokaż var_dump(mysql_fetch_array($rezultat_podanie)), może problem tkwi gdzie indziej.
Colder
Aj, masz rację!
Ehh byłem zbyt pochopny i mam nauczkę tongue.gif
Dzięki za pomoc 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.