dibi se nepředá parametr

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
ondrique
Člen | 16
+
0
-

Ahoj,

používám dibi 1.2 s nette 0.9.2 a mám následující problém:

při volání

<?php
$imagesResult = dibi::query("select * from blog_library where id in(%sql)", $imageLine);
?>

mi to vyhodí chybu, protože dibi zpracováná dotaz

select *
from blog_library
where id in ()

vs.

při volání

<?php
$imagesResult = dibi::test("select * from blog_library where id in(%sql)", $imageLine);
?>

to vypíše normálně

select *
from blog_library
where id in(14,10)

V čem může být zakopaný pes? Ještě poznámka: doma na lokále to mám s PHP 5.2.8 OK, tento problém se mi objevuje jen na produkčním s 5.2.0–8+etch15.

Díky moc za každou pomoc!

romansklenar
Člen | 655
+
0
-

Co nahradit %sql za %s když tam nejspíše vkládáš řetězec?

BigCharlie
Člen | 283
+
0
-

$imagesResult = dibi::query(„select * from blog_library where id in(%sql)“, $imageLine);

co takhle?

dibi::query("select * from blog_library where id in(%sql", $imageLine, ")");

Píšu to z hlavy, čili bez záruky. Ale kdysi jsem narazil na to, že mezi identifikátorem proměnné a uvedením proměnné nesmí nic být. Jinak je to spíš otázka do dibi fóra.

iqtq
Člen | 20
+
0
-

A do třetice:

  • pokud by $imageLine bylo pole tak s úspěchem používám ... WHERE id IN %l", $imageLine);

Editoval iqtq (2. 12. 2009 7:13)

ondrique
Člen | 16
+
0
-

Díky všem za odpovědi, nakonec jsem vyřešil zažádáním o smysluplnější hosting pro onen projekt, protože v PHP 5.2.0 nefunkovaly další věci např. v šablonách.