Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem PHP - Codeigniter použití výstupu z Query do další Query jako podmínka

Zdravím,

netuší někdo, proč toto nefunguje?
Asi špatně používám objekt k databázi.

Mám:

$Name = strval(gamename);
$queryAAA = $this->db->query("SELECT id_game FROM games WHERE name ='". $Name ."' LIMIT 1");
$pageAAA = $queryAAA->result();

$myID = $pageAAA[0]->id_game ;

echo $myID ; // Toto píše v pořádku výstup

die($myID); // Toto vrací prázdný výsledek !

Potřebuji použít výsledek z databáze v následujícím SQL dotazu.
Ovšem ten neprochází a háže chybu. A sice tu, že proměnná $myID je prázdná !

CHtěl bych vědět, proč se takto děje a jak tomu předcházet prosím.

Odpověď, že to můžu nakonec nasoukat do jednoho joinu prosím nechci.

Předmět Autor Datum
die($myID); s týmto si zamýšľal konkrétne čo? ukončenie skriptu, nejakej Tvojej funkcie, alebo čo?…
pme 04.01.2025 11:00
pme
ano, problém, je , že je nekompletní kód . Je nějak zjednodušený pro demostraci? Pak by to chtělo ko…
tupolev 05.01.2025 11:41
tupolev
Kód je to poměrně komplexní, obsahující i řadu include souborů. Proto jej nemohu celý uvádět. Přes… poslední
Flash_Gordon 06.01.2025 08:57
Flash_Gordon

die($myID); s týmto si zamýšľal konkrétne čo? ukončenie skriptu, nejakej Tvojej funkcie, alebo čo?
pokiaľ použiješ funkciu die s návratou hodnotou inou ako 0 , vždy to bude chyba...

skús si pozrieť exit();

a samozrejme útržkovité kódy bez vzájomných prepojení a súvislostí asi zrejme nikomu nič nebudú hovoriť...

ano, problém, je , že je nekompletní kód . Je nějak zjednodušený pro demostraci? Pak by to chtělo komentář. Jsou to 2 varianty kódu nebo opravdu voláš echo a potom die (). Je tam to die důležité?
jenom poznámka, strval opravdu, ale opravdu není escapování pro SQL .

Blbá otázka: ale ten výstup je někde uprostřed html nebo nedejbože ajax a ty to kontroluješ v prohlížeči "pohledem" a ne voláním php.exe mujskript.php ?
Nějaké nástroje na debugování máš, jako var_dump($pageAAA[0])?

pak mě napadla další věc, jaký datový typ je ten id_game(potažmo pageAAA, potažmo pageAAA[0]), je to objekt (nějaký lazy getter abstrakce igniteru) nebo string?
a další, jestli se nějak neliší chování die co se týče die($objekt) (a ne/volání __toString())
a output buffering máš ? Je soubor nějak includnutý?

Nerozumím tedy tomu, že ten řádek s echo ukazuje výsledek. co třeba místo die použít znovu echo, případně var_dump, ,var_export a...

Kód je to poměrně komplexní, obsahující i řadu include souborů.

Proto jej nemohu celý uvádět.

Přesto děkuji všem za reakce.

Udělal jsem to přes tento select, který to následně bere:

$this->db->select('*')
->from('file')
->where('id_game', $myID)
->get()
->result()[0]->main_file;

Pěkný den

Zpět do poradny Odpovědět na původní otázku Nahoru