* adjust code.

This commit is contained in:
wangyidong
2014-12-19 01:05:41 +00:00
parent 532d22eb5e
commit 0c0f8d85a9
14 changed files with 125 additions and 81 deletions
+4 -4
View File
@@ -91,14 +91,14 @@ class api extends control
/**
* Query sql;
*
* @param string $sql this sql is base64 encode.
* @param string $keyField
* @access public
* @return void
*/
public function query($sql)
public function sql($keyField = '')
{
$sql = base64_decode($sql);
$this->view->results = $this->api->query($sql);
$sql = isset($_POST['sql']) ? $this->post->sql : '';
$this->view->results = $this->api->sql($sql, $keyField);
die($this->display());
}
}
+1 -1
View File
@@ -12,7 +12,7 @@
$lang->api = new stdclass();
$lang->api->common = 'API';
$lang->api->getModel = 'Super Model API';
$lang->api->query = 'SQL Query API';
$lang->api->sql = 'SQL Query API';
$lang->api->position = 'Position';
$lang->api->startLine = "%s, line %s";
+1 -1
View File
@@ -12,7 +12,7 @@
$lang->api = new stdclass();
$lang->api->common = 'API接口';
$lang->api->getModel = '超级model调用接口';
$lang->api->query = 'SQL查询接口';
$lang->api->sql = 'SQL查询接口';
$lang->api->position = '位置';
$lang->api->startLine = "%s,%s行";
+18 -23
View File
@@ -88,40 +88,35 @@ class apiModel extends model
* Query sql.
*
* @param string $sql
* @param string $keyField
* @access public
* @return array
*/
public function query($sql)
public function sql($sql, $keyField = '')
{
$sql = trim($sql);
$sqls = explode(';', $sql);
if(strpos($sql, ';') !== false) $sql = substr($sql, 0, strpos($sql, ';'));
a($sql);
if(empty($sql)) return '';
$results = array();
foreach($sqls as $sql)
if(stripos($sql, 'select ') !== 0)
{
$sql = trim($sql);
if(empty($sql)) continue;
$result = new stdclass();
$result->sql = $sql;
$result->result = '';
if(stripos($sql, 'select ') !== 0)
return $this->lang->api->error->onlySelect;
}
else
{
try
{
$result->result = $this->lang->api->error->onlySelect;
$stmt = $this->dao->query($sql);
if(empty($keyField)) return $stmt->fetchAll();
$rows = array();
while($row = $stmt->fetch()) $rows[$row->$keyField] = $row;
return $rows;
}
else
catch(PDOException $e)
{
try
{
$result->result = $this->dao->query($sql)->fetchAll();
}
catch(PDOException $e)
{
$result->result = $e->getMessage();
}
return $e->getMessage();
}
$results[] = $result;
}
return $results;
}
}