本文整理汇总了PHP中PH7\Framework\Mvc\Model\Engine\Db::showTables方法的典型用法代码示例。如果您正苦于以下问题:PHP Db::showTables方法的具体用法?PHP Db::showTables怎么用?PHP Db::showTables使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PH7\Framework\Mvc\Model\Engine\Db
的用法示例。
在下文中一共展示了Db::showTables方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: back
/**
* Makes a SQL contents backup.
*
* @access public
* @return object this
*/
public function back()
{
$this->_sSql = "#################### Database Backup ####################\n" . '# ' . Kernel::SOFTWARE_NAME . ' ' . Kernel::SOFTWARE_VERSION . ', Build ' . Kernel::SOFTWARE_BUILD . "\r\n" . '# Database name: ' . Config::getInstance()->values['database']['name'] . "\r\n" . '# Created on ' . (new CDateTime())->get()->dateTime() . "\r\n" . "#########################################################\r\n\r\n";
$aTables = $aColumns = $aValues = array();
$oAllTables = Db::showTables();
while ($aRow = $oAllTables->fetch()) {
$aTables[] = $aRow[0];
}
unset($oAllTables);
$oDb = Db::getInstance();
// Loop through tables
foreach ($aTables as $sTable) {
$oResult = $oDb->query('SHOW CREATE TABLE ' . $sTable);
$iNum = (int) $oResult->rowCount();
if ($iNum > 0) {
$aRow = $oResult->fetch();
$this->_sSql .= "#\n# Table: {$sTable}\r\n#\r\n\r\n";
$this->_sSql .= "DROP TABLE IF EXISTS {$sTable};\r\n\r\n";
$sValue = $aRow[1];
/*** Clean up statement ***/
$sValue = str_replace('`', '', $sValue);
/*** Table structure ***/
$this->_sSql .= $sValue . ";\r\n\r\n";
unset($aRow);
}
unset($oResult);
$oResult = $oDb->query('SELECT * FROM ' . $sTable);
$iNum = (int) $oResult->rowCount();
if ($iNum > 0) {
while ($aRow = $oResult->fetch()) {
foreach ($aRow as $sColumn => $sValue) {
if (!is_numeric($sColumn)) {
if (!is_numeric($sValue) && !empty($sValue)) {
$sValue = Db::getInstance()->quote($sValue);
}
$sValue = str_replace(array("\r", "\n"), array('', '\\n'), $sValue);
$aColumns[] = $sColumn;
$aValues[] = $sValue;
}
}
$this->_sSql .= 'INSERT INTO ' . $sTable . ' (' . implode(', ', $aColumns) . ') VALUES(\'' . implode('\', \'', $aValues) . "');\n";
unset($aColumns, $aValues);
}
$this->_sSql .= "\r\n\r\n";
unset($aRow);
}
unset($oResult);
}
unset($oDb);
return $this;
}