$pages[$path] = $page->toArray(); \Meta\Builder::write('pages', $pages); } echo json_encode(array('errors' => $errors, 'obj' => $object)); }); // new route_add('builder/editobject/*/*', function ($path, $oid) { $pages = \Meta\Builder::read('pages'); $page = new \Meta\Builder\Page($path, $pages[$path]); $object = $page->objects[$oid]; echo json_encode($object); }); route_add('builder/analizesql/*/*', function ($pname, $oid) { $errors = array(); $cols = array(); $sql = \Meta\Builder::replaceSQL(\Meta\Core\Db::sqlNormalize($_REQUEST['query'])); $statement = \Meta\Core\Db::getPDO()->prepare($sql); if ($statement->execute()) { for ($i = 0; $i < $statement->columnCount(); $i++) { $meta = $statement->getColumnMeta($i); // $cols[$meta['name']] = $meta['native_type']; $cols[$meta['name']] = $meta['name']; } } else { $errors = $statement->errorInfo(); } // ataualiza colunas do SQL na base (array) $pages = \Meta\Builder::read('pages'); $pages[$pname]['objects'][$oid]['sqlCols'] = $cols; \Meta\Builder::write('pages', $pages); echo json_encode(array('errors' => $errors, 'sql_cols' => $cols));
public static function sqlError($sql) { $error = null; try { $sql = \Meta\Core\Db::sqlNormalize($sql); $sql = \Meta\Builder::replaceSQL($sql); $statement = \Meta\Core\Db::getPDO()->prepare($sql); if (!$statement->execute()) { $error = implode(', ', $statement->errorInfo()); } } catch (Exception $e) { $error = $e->getMessage(); } return $error; }
/** * @return PDOStatement */ public static function query($sql, $args = array()) { return \Meta\Core\Db::execute(\Meta\Core\Db::sqlNormalize($sql), $args); }