Oznámení
Otazníky v query → chyba syntaxe
před 9 lety
- prebijak
- Člen | 21
Verze dibi: 1.3-dev (revision 1f438fa released on 2010–10–06)
Verze PHP: 5.3.2–1ubuntu4.5
Zkoušel jsem i dibi 1.2 a minified a na hostingu, ale vrací stejný výsledek.
Mezi hvězdičkou a FROM mám mezeru, ale v chybovém hlášení jsou otazníčky.
Chybové hlášení:
Fatal error: Uncaught exception ‚DibiDriverException‘ with message ‚You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' FROM
pages
WHEREid
= 'home'' at line 1‘ in /home/uzivatel/fi/data/inc/dibi/drivers/mysql.php:165 Stack trace: #0 /home/uzivatel/fi/data/inc/dibi/libs/DibiConnection.php(341): DibiMySqlDriver->query(‚SELECT *??FROM …‘) #1 /home/uzivatel/fi/data/inc/dibi/libs/DibiConnection.php(251): DibiConnection->nativeQuery(‚SELECT *??FROM …‘) #2 /home/uzivatel/fi/data/inc/dibi/dibi.php(298): DibiConnection->query(Array) #3 /home/uzivatel/fi/index.php(13): dibi::query(‚SELECT *??FROM …‘, ‚home‘) #4 {main} SQL: SELECT * FROMpages
WHEREid
= ‚home‘ thrown in /home/uzivatel/fi/data/inc/dibi/drivers/mysql.php on line 165
PHP Kód:
<?php
define('INCLUDED', true);
$pagename = (isset($_GET["page"])&&!empty($_GET["page"]))?$_GET["page"]:"home";
require "data/data.php";
require_once 'data/inc/Nette/Debug.php';
require_once "data/inc/dibi/dibi.php";
require_once "data/inc/themes.php";
dibi::connect($dibiconfig);
$pagedata = dibi::query("SELECT * FROM [pages] WHERE [id] = %s", $pagename);
$pagedata = $pagedata->fetchAll();
$pagedata = $pagedata[0];
include "data/template/index.php";
?>
Netušíte čím by to mohlo být způsobeno? Díky za případné odpovědi.
Editoval prebijak (11. 10. 2010 22:00)
před 9 lety
- Milo
- Nette Core | 1119
dibi::test( "SELECT * FROM [pages] WHERE [id] = %s", $pagename );
ukáže co? Prohlídnul bych si zdroják v nějakém HEX editoru, jestli tam
editor nenacpal nějaké bílé znaky místo mezery.
před 9 lety
- prebijak
- Člen | 21
Milo napsal(a):
dibi::test( "SELECT * FROM [pages] WHERE [id] = %s", $pagename );
ukáže co? Prohlídnul bych si zdroják v nějakém HEX editoru, jestli tam editor nenacpal nějaké bílé znaky místo mezery.
Díky za pomoc v hex editoru bylo C2 A0 na místo 20.