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

question-closed Co jest nie tak w tym kodzie?

VPS Starter Arubacloud
0 głosów
317 wizyt
pytanie zadane 31 grudnia 2015 w PHP przez McShadow Obywatel (1,050 p.)
zamknięte 2 stycznia 2016 przez McShadow

Mam tutaj taki kod i nwm co jest nie tak prosze o pomoc
 

$sql = "SELECT * FROM Content";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<td>".$result['post']."</td>";
        echo "<td>".$result['autor']."</td>";
        echo "<td>".$result['data']."</td>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>

 

komentarz zamknięcia: Problem zrowiązany

5 odpowiedzi

0 głosów
odpowiedź 31 grudnia 2015 przez Comandeer Guru (599,730 p.)
My też nie, bo nie podałeś błędu.
komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
mam nadzieje ze ułatwiłem trochę
komentarz 31 grudnia 2015 przez Comandeer Guru (599,730 p.)
A masz linijkę, w której łączysz się z bazą?
komentarz 31 grudnia 2015 przez writen Nałogowiec (29,060 p.)
A gdzie masz klucz główny w swojej tabeli? Każdy rekord powinien posiadać swój unikalny identyfikator.
komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
Brak klucza nie uniemożliwia pobrania rekordów.
komentarz 31 grudnia 2015 przez Comandeer Guru (599,730 p.)
Akurat w przypadku mysqli i odpowiedniego poziomu raportowania może ;)
0 głosów
odpowiedź 31 grudnia 2015 przez Konrad Nabożny Stary wyjadacz (13,460 p.)

Napisz nam jaki chcesz osiągnąć tym kodem efekt, a jaki otrzymujesz. 

0 głosów
odpowiedź 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
Gdy wyświetlasz... to użyłbym $row[index], a nie $result[index]; (chyba :3)

A jak dla mnie... to po prostu nie połączyłeś się poprawnie z bazą danych.

Do debugowania tego typu rzeczy przydaje się mysql_error.
komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} ​

Spróbuj to wkleić nad swój kod.

komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
Polaczenie ustanowione sie wyswietla wie połączenie jest if sie spełnia i blędu nie ma tyle nie zwraca rekordów i nie podoba mi sie to
komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)

Polaczenie ustanowione 0 results to sie pokazuje 

komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)

wyswieta sie 0 results

to wskazuje, że if się NIE spełnia. 

komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
uzyłem $row  zamiast result i 0 rekordów
komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
Człowieku - DAJ CAŁY KOD; bo dałeś nam skrawek, który miał tylko błąd logiczny, a byków nawaliłeś wyżej.
komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
Nie zdziwiłbym się jakby to był cały kod... <3
komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
<?php
$servername = "mysql.hostinger.pl";
$username = "u528067218_kuba";
$password = "*************";

$conn = new mysqli($servername, $username, $password);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Polaczenie ustanowione";

$sql = "SELECT * FROM tabela";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {
        echo "<td>".$row['post']."</td>";
        echo "<td>".$row['autor']."</td>";
        echo "<td>".$row['data']."</td>";
         echo "<td>".$row['id']."</td>";
    }
} else {
    echo "0 results";
}
$conn->close();
?>
komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
Musisz wybrać bazę danych - jako czwarty parametr połączenia.
komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
Dziekuje za pomoc działa
komentarz 31 grudnia 2015 przez Mariusz O Mądrala (5,290 p.)
Proszę.. tylko nast. razem NAPRAWDĘ proszę o cały kod; bo to naprawde nie jest tak, że chcę ukraść Twoje skomplikowane kody i tajne hasła... często przyczyna jest zupełnie gdzie indziej. Z PHP jeszcze nie jest tak strasznie... poucz się c i zobacz niemożliwe.
komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
ok rozumiem dziekuje jeszcze raz i szczęsliwego nowego roku
0 głosów
odpowiedź 31 grudnia 2015 przez writen Nałogowiec (29,060 p.)

Wypadało by żebyś najpierw sprawdził czy zapytanie w ogóle się wykonało, np. ifem:

if($result) { //reszta kodu } else { //błąd }

No i masz błąd wewnątrz pętli while. Zamiast zmiennej $row używasz $result.

 

komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)
O kurde nie zauważyłem tego dzięki
0 głosów
odpowiedź 31 grudnia 2015 przez Radekoslaw123 Gaduła (3,080 p.)
edycja 1 stycznia 2016 przez Radekoslaw123
Weź spróbuj coś takiego:

$sql = "SELECT * FROM Content";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
    // output data of each row
        foreach($result as $data) {
        echo "<td>".$data['post']."</td>";
        echo "<td>".$data['autor']."</td>";
        echo "<td>".$data['data']."</td>";
    }
}
 else {
    echo "0 results";
}
$conn->close();

 

komentarz 31 grudnia 2015 przez McShadow Obywatel (1,050 p.)

taki error 
Parse error: syntax error, unexpected 'else' (T_ELSE) in /home/u528067218/public_html/wyslij.php on line 25

komentarz 31 grudnia 2015 przez writen Nałogowiec (29,060 p.)
Zmieniłeś tylko ciało if'a, co i tak się nie wykona, bo warunek się nie spełnia.

A w dodatku zapomniałeś go zamknąć.
komentarz 1 stycznia 2016 przez Radekoslaw123 Gaduła (3,080 p.)
faktycznie, robione bez testu, z głowy :V nie zauważyłem, spróbuj z tego teraz
komentarz 1 stycznia 2016 przez Radekoslaw123 Gaduła (3,080 p.)
Jak się nie wykona if?

Jak num_rows będą się zgadzać
komentarz 1 stycznia 2016 przez writen Nałogowiec (29,060 p.)

Radek, przeczytaj też inne komentarze autora, np. ten:

własnie nie ma błędu tylko wyswieta sie 0 results tylko nwm czemu?

Po prostu warunek się nie spełnia, więc nawet nie dochodzi do wykonania kodu, który mu zmieniłeś. Na potrzeby tego tematu twoja odpowiedź nie ma żadnego znaczenia.

Podobne pytania

–2 głosów
0 odpowiedzi 127 wizyt
pytanie zadane 7 stycznia 2017 w PHP przez Geek1234 Użytkownik (570 p.)
0 głosów
4 odpowiedzi 152 wizyt
pytanie zadane 3 stycznia 2016 w PHP przez R3VIK Nowicjusz (200 p.)
0 głosów
1 odpowiedź 213 wizyt
pytanie zadane 8 sierpnia 2015 w PHP przez daniel89 Użytkownik (700 p.)

92,454 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...