tiny ‘n’ smart
database layer

Odkazy: dibi | API reference

Oznámení

Omlouváme se, provoz fóra byl ukončen

dibi::test mi netiskne subquery a vse za nim

před 8 lety

Gaudentius
Člen | 190

Dobrý den,
nejde mi do hlavy proč při tomto dotazu:

$res = dibi::test('
      SELECT *, COUNT(vps_index) AS [count]
      FROM [visitor_states] AS [vs]
      WHERE ([vps_index] =%s', $vps_index,')
      AND
      [date] >=%s',$date,'
      AND ( SELECT [id] FROM [visitors] WHERE [session_id] = [vs].[visitors_session_id] AND [pojistnik_prijmeni] LIKE '%uzivatel%')
      GROUP BY [value]
    ');

    die();

se mi do prohlížeče vytiskne:

SELECT *, COUNT(vps_index) AS `count`
FROM `visitor_states` AS `vs`
WHERE (`vps_index` ='utm_source' )
 AND
 `date` >='2011-04-01' 0

Nevim proc je za „date“ ta nula a proc to nevytiskne ten subdotaz a vse co je za nim?

Dekuji

před 8 lety

Milo
Nette Core | 1119

„Nesprávná“ PHP syntaxe. String máš uzavřený v apostrofech a snažíš se do něj apostrof zapsat.

'text' % KONSTANTA % 'text';    // false

Lepší je použít like modifikátor

'..... AND [pojistnik_prijmeni] LIKE %~like~', 'uzivatel', ') GROUP BY ...'

před 8 lety

Gaudentius
Člen | 190

Ahoj, díky, když jsem se na to podíval pak znovu, tak jsem ten problém už viděl, ale díky ;-)