• 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?

Ultraszybki serwer VPS NVMe BIZNES
0 głosów
142 wizyt
pytanie zadane 31 grudnia 2015 w PHP, Symfony, Zend przez McShadow Obywatel (1,070 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 Mentor (385,490 p.)
My też nie, bo nie podałeś błędu.
komentarz 31 grudnia 2015 przez McShadow Obywatel (1,070 p.)
mam nadzieje ze ułatwiłem trochę
komentarz 31 grudnia 2015 przez Comandeer Mentor (385,490 p.)
A masz linijkę, w której łączysz się z bazą?
komentarz 31 grudnia 2015 przez writen Nałogowiec (27,860 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 Mentor (385,490 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,350 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 McShadow Obywatel (1,070 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,070 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,070 p.)
ok rozumiem dziekuje jeszcze raz i szczęsliwego nowego roku
0 głosów
odpowiedź 31 grudnia 2015 przez writen Nałogowiec (27,860 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,070 p.)
O kurde nie zauważyłem tego dzięki
0 głosów
odpowiedź 31 grudnia 2015 przez Radekoslaw123 Gaduła (3,060 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,070 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 (27,860 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,060 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,060 p.)
Jak się nie wykona if?

Jak num_rows będą się zgadzać
komentarz 1 stycznia 2016 przez writen Nałogowiec (27,860 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 68 wizyt
pytanie zadane 7 stycznia 2017 w PHP, Symfony, Zend przez Geek1234 Użytkownik (590 p.)
0 głosów
4 odpowiedzi 97 wizyt
pytanie zadane 3 stycznia 2016 w PHP, Symfony, Zend przez R3VIK Nowicjusz (200 p.)
0 głosów
1 odpowiedź 96 wizyt
pytanie zadane 9 stycznia 2016 w C i C++ przez Filip Grygiel Nowicjusz (120 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.
Ciekawy innych porad? Odwiedź tę stronę!

44,322 zapytań

84,159 odpowiedzi

167,560 komentarzy

21,229 pasjonatów

Przeglądających: 333
Pasjonatów: 33 Gości: 300

Motyw:

Akcja Pajacyk

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

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...