Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET. Zároveň využij akci až 30 % zdarma při nákupu e-learningu - Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Verquido
Tvůrce
Avatar
Verquido:1.3.2018 19:48

Zdravím, snažím se získat data a všechno funguje akorát když do SQL dotazu použiju jeden sloupeček tak se z databáze nic nevrátí. Už jsem zkontroloval kódování, správnost syntaxe apod. Ale prostě jako by se to toho jednoho sloupce štítilo.

1) SELECT id, name FROM table
2) SELECT id, name, nick FROM table

Příklad, první funguje, ale druhý už ne!

Nějaké nápady nebo zkušenosti co to způsobuje?

Editováno 1.3.2018 19:48
 
Odpovědět
1.3.2018 19:48
Avatar
Odpovídá na Verquido
Michal Štěpánek:1.3.2018 20:03
  1. Sloupec tam není
  2. Sloupec tam je, ale jmenuje se jinak
Nahoru Odpovědět
1.3.2018 20:03
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
petr.jouza
Člen
Avatar
Odpovídá na Verquido
petr.jouza:1.3.2018 20:44

Nemáš tam nějaké jionování, kde by v jiných tabulkách byl stejný název sloupce? pak by bylo potřeba použít aliasy

SELECT
        tabulka.name AS name,
        tabulka2.nick AS nick
FROM tabulka tabulka
INNER JOIN tabulka2 tabulka2 ON tabulka.tabulka2 AS tabulka2.id
...
 
Nahoru Odpovědět
1.3.2018 20:44
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Verquido:2.3.2018 18:17

sloupec tam je, a i se tak jmenuje

 
Nahoru Odpovědět
2.3.2018 18:17
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na petr.jouza
Verquido:2.3.2018 18:17

Pracuji pouze s jednou tabulkou takže tohle asi chyba nebude.

 
Nahoru Odpovědět
2.3.2018 18:17
Avatar
Verquido
Tvůrce
Avatar
Verquido:2.3.2018 18:45

Prostě ten jeden sloupeček ten SQL dotaz nezpracuje, ať ho dám do SELECT nebo do WHERE

 
Nahoru Odpovědět
2.3.2018 18:45
Avatar
Odpovídá na Verquido
Michal Štěpánek:2.3.2018 18:48

a když dáš

SELECT * FROM Table

vypíše to něco?

Nahoru Odpovědět
2.3.2018 18:48
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Verquido
Michal Štěpánek:2.3.2018 18:51

Jaký datový typ je nastavený na tom sloupci? Nemáš tam třeba "int" a data v tabulce jsou "string"?

Nahoru Odpovědět
2.3.2018 18:51
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Verquido:2.3.2018 18:57

Nevrátí to taky nic, ale když do dotazu vyberu všehny sloupečky kromě toho jednoho tak to jde normálně.

Datová typ je varchar a data jsou v pohodě bych řekl

 
Nahoru Odpovědět
2.3.2018 18:57
Avatar
Odpovídá na Verquido
Michal Štěpánek:2.3.2018 19:00

Tak se schválně koukni do té tabulky, co je tam v tom sloupci ve všech řádcích, zdá se, že tam bude nějaký problém u nějakého záznamu.
Můžeš data z toho sloupečku vymazat a popř. pak je tam dát ručně?

Nahoru Odpovědět
2.3.2018 19:00
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Verquido:2.3.2018 19:02

Udělal jsem si novou tabulku s touhle strukturou abych to vyzkoušel takže na stejný princip to je i v té hlavní kde mám asi jen 17 záznamů.

id, kategorie

data:

1 | dřevo
2 | železo

a když jsem zkusil vypsat

SELECT id FROM tabulka

tak to šlo, ale když tohle

SELECT id, kategorie FROM tabulka

tak už to nefunguje

Editováno 2.3.2018 19:04
 
Nahoru Odpovědět
2.3.2018 19:02
Avatar
Odpovídá na Verquido
Michal Štěpánek:2.3.2018 19:10

Tady bude asi problém jinde, jak to vypisuješ?

Nahoru Odpovědět
2.3.2018 19:10
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Verquido:2.3.2018 19:14

Normálně si naštu data z databáze přes PDO. Klasika SQL > PREPARE > EXECUTE > FETCH::PDO_OBJ potom to encoduju (json_endode) a pošlu přes AJAX na stránku.

Ale teď se mi zdá, že je chyba v kódování protože když z toho "dřevo" a "železo" vymažu háčky a čárky tak to jde vypsat. V tabulce mám ale české kódování tak nevím.

 
Nahoru Odpovědět
2.3.2018 19:14
Avatar
Odpovídá na Verquido
Michal Štěpánek:2.3.2018 19:25

A na stránce máš kódování jaké? UTF-8?

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
2.3.2018 19:25
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Verquido
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
Verquido:2.3.2018 19:28

Vyřešeno, díky za konzultaci. :D Stačilo jen přidat

PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"

PDO je někdy dost nepředvídatelné

 
Nahoru Odpovědět
2.3.2018 19:28
Avatar
Odpovídá na Verquido
Michal Štěpánek:2.3.2018 20:31

Jsem rád, že ti moje myšlenkové pochody pomohly k nalezení řešení... :-)

Nahoru Odpovědět
2.3.2018 20:31
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 16 zpráv z 16.