Jestem w trakcie nauki obsługi zapytań za pomocą PDO. Posiadam pewną klase wspomagającą, która fajnie się sprawdza przy operacjach INSERT i UPDATE.
Mam problem z wykonaniem zwykłego zapytania SQL w którym doklejam ze zmiennej kawałek kodu w zależności od potrzeb.
Otrzymuje błąd, że zapytanie jest niepoprawne,:
SQLSTATE[42000]: Syntax error or access violation: 1064 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 ''' ORDER BY z.id DESC LIMIT 100' at line 1
$sql_kat_id = ''; //NASZ DODATKOWY ELEMENT ZAPYTANIA } else { //jesli jedna kategoria } } else { //jesli jedna kategoria } } $pdo = new DB; $pdo->setParameters($dbhost, $dbname, $dbuser, $dbpass); $pdo->setTablePrefix($dbprefix); $pdo->setCharset($config["encoding"]); try { $sqlQuery = "SELECT k.*, z.* FROM ".$dbprefix."blog_art z, ".$dbprefix."blog_kat k WHERE z.user_id=k.user_id AND z.active =1 :kat_id ORDER BY z.id DESC LIMIT 100;"; $stmt = DB::getInstance()->prepare($sqlQuery); $stmt->bindValue(':kat_id', $sql_kat_id, PDO::PARAM_STR); $stmt->execute(); $result = $stmt->fetchAll(); $stmt = null; } catch(PDOException $e) { }
Czy można w takie sposób za pomocą BindValue wklejać całe kawałki kodu, czy nie jest taki kod realizowany?