Autor Zpráva
janky
Profil
Dobrý večer, nedaří se mi napsat výběr přes více tabulek.

      $card = escape($_GET['detail']);
      
      $result = $database->query('
      SELECT cards.*, `sets`.*,card_faces.*
      FROM cards
      INNER JOIN `sets` ON cards.`set` = `sets`.code
      INNER JOIN card_faces ON cards.scryfall_id = card_faces.scryfall_id
      WHERE cards.scryfall_id %s', $card);

Poradili by jste mi prosím jak to má být správně? Děkuji
Kajman
Profil
Nechybí před %s rovnítko?
janky
Profil
Kajman:
s rovnítkem to hlásí:
Fatal error: Uncaught LogicException: Attempt to read undeclared property Dibi\Result::$name. in D:\www\sideboard.cz\vendor\dibi\dibi\src\Dibi\Strict.php:67 Stack trace: #0 D:\www\sideboard.cz\includes\include.php(57): Dibi\Result->__get('name') #1 D:\www\sideboard.cz\index.php(14): require_once('D:\\www\\sideboar...') #2 {main} thrown in D:\www\sideboard.cz\vendor\dibi\dibi\src\Dibi\Strict.php on line 67
Keeehi
Profil
janky:
To je ale chyba, která bude až někde za tím kódem, co je tady.
V $result "pole" řádků. Takže ke sloupcům nemůžeš pristupvat hned ale musíš z toho nejdříve dostat řádek.

foreach ($result as $row) {
    echo $row->name;
}

Pikud tam něco takového máš, pak to znamená, že ve výsledku sloupec se jménem name neexiytuje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0