Wyświetlanie tabeli mysql w PHP.

0

Witam Wszystkich,

Chciał bym się dowiedzieć gdzie popełniam błąd przy próbie połączenia bazy z php i wyświetlenia odpowiedniej tabeli na stronce. Jest to testowy kod strony bo nie mogę zrozumieć i znaleźć co robię nie tak ...

 <?php

$link = mysqli_connect(
            'localhost',  	
            '...',       	/*prawidłowa nazwa*/
            '...',   	        /*prawidłowe hasło*/
            'log_cdr');    

if (!$link) {
   printf("Brak połączenia z serwerem MySQL. Kod błędu: %s\n", mysqli_connect_error());
   exit;
}
?>

<?php
$wynik = mysql_query("SELECT * FROM log_cdr") 
or die('Błąd zapytania'); 


if ($result = mysqli_query($link, 'SELECT description,  FROM item ORDER BY log_cdr DESC')) {

    print("nazwa:\n");

    while( $row = mysqli_fetch_assoc($result) ){

        printf("%s (%s)\n", $row['description'], $row['log_cdr']);

    }

    mysqli_free_result($result);

}

?>

Otrzymuję 'błąd zaptania'

0

Problem w tym, że używasz mysqli. Używaj PDO:

$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$stmt = $db->query("SELECT * FROM table");
$stmt->fetchAll(PDO::FETCH_ASSOC);

Boże skąd wy się uczycie tego php.

0

Ja piernicze ... co chwila coś nowego :) już czytam o tym PDO. Dz

0
Desu napisał(a):

Problem w tym, że używasz mysqli. Używaj PDO:

$db = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8', 'username', 'password');
$stmt = $db->query("SELECT * FROM table");
$stmt->fetchAll(PDO::FETCH_ASSOC);

Boże skąd wy się uczycie tego php.

A może rekordy w BD mam źle po definiowane ? Jakie powinny mieć standardowe ustawienie w phpmyadmin żeby php je czytał ?

0

Chodzi mi o to że może baza w phpmyadmin jest źle zbudowana dlatego nie chce wyświetlić rekordów na stronce.

0
Hemikalny napisał(a):

Chodzi mi o to że może baza w phpmyadmin jest źle zbudowana dlatego nie chce wyświetlić rekordów na stronce.

Dostaje taki błąd "Połączenie nie mogło zostać utworzone: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'field list' ?>"

i mam taki kod

 

<?php
   try
   {
      $pdo = new PDO('mysql:host=localhost;dbname=log_cdr', 'root', 'root');
      $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      
      $stmt = $pdo->query('SELECT id, nazwa, opis FROM login');
      echo '<ul>';
      foreach($stmt as $row)
      {
          echo '<li>'.$row['nazwa'].'</li>';
      }
      $stmt->closeCursor();
      echo '</ul>';
   }
   catch(PDOException $e)
   {
      echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
   }
?

To błąd konstrukcji bazy danych ?

0

@Hemikalny a powiedz mi co to znaczy: " Column not found: 1054 Unknown column 'id' in 'field list'" ?

0
Desu napisał(a):

@Hemikalny a powiedz mi co to znaczy: " Column not found: 1054 Unknown column 'id' in 'field list'" ?

No że nie może znaleźć kolumny, ale daleczego ???

0

A skąd mam wiedzieć jak wygląda Twója tabela?

Na stackoverflow jest 375,685 wątków oznaczonych tagiem mysql. Jeżeli jesteś początkującym to na 99.9% masz taki problem, który ktoś już miał. To się tyczy wszystkiego PHP/MySql/JS i innych języków. Wystarczy wpisać w google, a tego nie zrobiłeś bo byś juz miał odpowiedź. Zanim napiszesz gdziekolwiek to weź błąd wpisz go w google, spróbuj sam podebuggować, przeczytaj dokumentację i dopiero wal na forum, a nie widzisz błąd i już wielka panika.

0

O tak

0

Okej super. Doszliśmy do tego, że nie może znaleźć kolumny, ale dlaczego?
Powiedz mi, czy jest tam kolumna ID, albo opis? Jeżeli ją widzisz to wskaż na screenie.

0

nie mam kolumnę Nazwa

0

Bomba. Wszystko się zaczyna składać do kupy prawda? Masz błąd który Ci mówi, że nie masz kolumny id. Patrzysz na tabelkę, a w tablece faktycznie nie masz kolumyn id. To teraz zadaj sobie pytanie co trzeba zrobić, żeby błąd znikną... dodac kolumnę id?

Wklej sobie to do phpmyadmin tam gdzie możesz wykonać zapytanie. To Cie powinno olśnić jakie kolumny utworzyłeś :D

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'log_cdr' AND TABLE_NAME = 'login';

Próbowałeś to zdebuggować, czy wyskoczył Ci błąd zrobiłeś ctrl + c ctrl + v i wkleiłeś go tutaj w oczekiwaniu na gotowe rozwiązanie - szczerze ?

0
Desu napisał(a):

Bomba. Wszystko się zaczyna składać do kupy prawda? Masz błąd który Ci mówi, że nie masz kolumny id. Patrzysz na tabelkę, a w tablece faktycznie nie masz kolumyn id. To teraz zadaj sobie pytanie co trzeba zrobić, żeby błąd znikną... dodac kolumnę id?

Wklej sobie to do phpmyadmin tam gdzie możesz wykonać zapytanie. To Cie powinno olśnić jakie kolumny utworzyłeś :D

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'log_cdr' AND TABLE_NAME = 'login';

Próbowałeś to zdebuggować, czy wyskoczył Ci błąd zrobiłeś ctrl + c ctrl + v i wkleiłeś go tutaj w oczekiwaniu na gotowe rozwiązanie - szczerze ?

Kod znalazłem i sam próbowałem przerabiać pod swoje potrzeby. Jestem początkującym i szukałem tego błędu w google. A tak ap ropo masz nie samo wity sarkazm :). Przypomnij sobie kolego jak ty latałaś po forach i pisałeś rzeczy dla innych oczywiste, proste i świadczące o twoim braku umiejętność.

1 użytkowników online, w tym zalogowanych: 0, gości: 1