* adjust code.
This commit is contained in:
@@ -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());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user