sql微擎
⑴ 微擎資料庫表名為什麼都是ims_開頭,為什麼查詢時的sql語句里的表名都沒有ims_
function tablename($table)
{
...
return "`{$GLOBALS['_W']['config']['db']['master']['tablepre']}{$table}`";
}
⑵ 微擎中的web端如何使用SQL語句
1、數據基本操作
tablename()
$sql = "SELECT * FROM ".tablename('users');
echo $sql;
//輸出 SELECT * FROM ims_users
2、范圍條件操作
array('>', '<', '<>', '!=', '>=', '<=', 'NOT IN', 'not in', '+=', '-=');
//獲取adid大於269的公眾號
$accout = pdo_get('account', array('acid >' => '269'));
⑶ 微擎模塊,資料庫SQL文件在哪
數據基本操作
tablename()
$sql = "SELECT * FROM ".tablename('users');
echo $sql;
//輸出 SELECT * FROM ims_users
2、范圍條件操作
array('>', '<', '<>', '!=', '>=', '<=', 'NOT IN', 'not in', '+=', '-=');
//獲取adid大於269的公眾號
$accout = pdo_get('account', array('acid >' => '269'));
//增加一次用戶的錯誤登錄次數,兩次變為2即可
pdo_update('users_failed_login', array('count +=' => 1),array('username' => 'qiuweinan'));
3、查詢
pdo_get:根據條件(AND連接)到指定的表中獲取一條記錄
array | boolean pdo_get($tablename, $condition = array(), $fields = array());
⑷ 安裝微擎,導入sql的時候為什麼會出現這個錯誤技術交流
會提問嗎?sql安裝出現問題情況太多太多,而且sql版本不同,情況也不一樣,你的提問的確一字如金呀!
⑸ 在微擎中如何使用fansQueryInfo函數
1、數據基本操作
tablename()
$sql = "SELECT * FROM ".tablename('users');
echo $sql;
//輸出 SELECT * FROM ims_users
2、范圍條件操作
array('>', '<', '<>', '!=', '>=', '<=', 'NOT IN', 'not in', '+=', '-=');
//獲取adid大於269的公眾號
$accout = pdo_get('account', array('acid >' => '269'));
//增加一次用戶的錯誤登錄次數,兩次變為2即可
pdo_update('users_failed_login', array('count +=' => 1),array('username' => 'qiuweinan'));
3、查詢
pdo_get:根據條件(AND連接)到指定的表中獲取一條記錄
array | boolean pdo_get($tablename, $condition = array(), $fields = array());
//根據uid獲取用戶的用戶名和用戶Id信息
//生成的SQL等同於:SELECT username,uid FROM ims_users WHERE uid = '1' LIMIT 1
$user = pdo_get('users', array('uid' => 1), array('username', 'uid'));
//生成的SQL等同於:SELECT username FROM ims_users WHERE username = 'qiuweinan' AND status = '1' LIMIT 1
$user = pdo_get('users', array('username' => 'qiuweinan', 'status' => 1), array('username'));
pdo_getcolumn:根據條件(AND連接)到指定的表中獲取一條記錄的指定欄位
string | int pdo_getcolumn($tablename, $condition = array(), $field);
//根據uid獲取用戶的用戶名
//生成的SQL等同於:SELECT username FROM ims_users WHERE uid = '1' LIMIT1
$username = pdo_getcolumn('users', array('uid' => 1), 'username');
pdo_getall:根據條件(AND連接)到指定的表中獲取全部記錄
array | boolean pdo_getall($tablename, $condition = array(), $fields = array(), $keyfiled = '');
//獲取全部啟用的用戶
//生成的SQL等同於:SELECT * FROM ims_users WHERE status = '1'
$user = pdo_getall('users', array('status' => 1));
pdo_getslice:根據條件(AND連接)到指定的表中獲取某個區間的記錄,此函數和pdo_getall的區別是可以指定limit的值
array | boolean pdo_getslice($tablename, $condition = array(), $limit = array(), &$total = null, $fileds = array(), $keyfield = '');
$user = pdo_getslice('users', array(), array(0,10), $total);
echo $total;
pdo_fetch:根據SQL語句,查詢一條記錄
array | boolean pdo_fetch($sql, $params = array());
// :uid 是參數的一個點位符,沒有使用引號,傳入的第二個參數中要與SQL中的佔位名稱相同
$user = pdo_fetch("SELECT username, uid FROM ".tablename('users')." WHERE uid = :uid LIMIT 1", array(':uid' => 1));
// LIKE 佔位的使用方法
$user = pdo_fetch("SELECT * FROM ".tablename('users')." WHERE username LIKE :username", array(':username' => '%qiuweinan%'));
pdo_fetchcolumn:根據SQL語句,查詢第一條記錄的第N列的值,此語句與pdo_fetch使用相同,只是此函數返回的不是一個數組而是一個字元串
string | boolean pdo_fetchcolumn($sql, $params = array(), $column = 0);
//獲取用戶的總數,返回的值是一個數字
$user_total = pdo_fetchcolumn("SELECT COUNT(*) FROM ".tablename('users'));
pdo_feachall:根據SQL語句,查詢全部記錄,使用方法與pdo_feach相同
array | boolean pdo_fetchall($sql, $params = array(), $keyfield = '');
//需要注意的是,返回的數組的鍵值為用戶的uid
$user = pdo_fetchall("SELECT username,uid FROM ".tablename('users'), array(), 'uid');
4、變更
pdo_insert:對指定數據表插入一條新記錄
int | boolean pdo_insert($tablename, $data = array(), $replace = false);
//添加一條用戶記錄,並判斷是否成功
$user_data = array(
'username' => 'qiuweinan1',
'status' => '1',
);
$result = pdo_insert('users', $user_data);
if(!empty($result)){
$uid = pdo_insertid();
message('添加用戶成功,UID為' .$uid);
}
pdo_update:更新指定的數據表記錄
array | boolean pdo_updata($tablename, $data = array(), $condition, $glue = 'AND');
//更新uid=2的用戶的用戶名
$user_data = array(
'username' => 'qiuweinan2',
);
$result = pdo_update('users', $user_data, array('id' =>2));
if(!empty($result)){
message('更新成功');
}
pdo_delete:刪除指定條件的數據
int | boolean pdo_delete($tablename, $condition = array(), $glue = 'AND');
//刪除用戶名為qiuweinan2的記錄
$result = pdo_delete('users', array('username' => 'qiuweinan2'));
if(!empty($result)){
message('刪除成功');
}
5、運行SQL
pdo_query:運行一條SQL語句
int | boolean pdo_query($sql, $params = array());
//更新uid=2的用戶的用戶名
$result = pdo_query("UPDATA ".tablename('users')." SET username = :username, age = :age WHERE uid = :uid", array(':username' => 'qiuweinan2', ':age' => 18, ':uid' => 2));
//刪除用戶名為qiuweinan2的記錄
$result = pdo_query("DELETE FROM ".tablename('users')." WHERE username = :username", array(':username' => 'qiuweinan2'));
if(!empty($result)){
message('刪除成功');
}
pdo_run:批量執行語句
boolean run($sql, $stuff = 'ims_');
$sql = <<<EOF
CREATE TABLE IF NOT EXISTS `ims_multisearch` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`weid` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `ims_multisearch_fields` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`reid` int(10) unsigned NOT NULL,
`type` tinyint(1) unsigned NOT NULL DEFAULT `1`,
PRIMARY KEY(`id`),
KEY 'idx_reid' (`reid`)
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
EOF;
pdo_run($sql);
6、輔助函數
pdo_fieldexists:檢查表中是否存在某個欄位
boolean pdo_fieldexists($tablename, $fieldname);
//如果shopping_goods表中不存在credit欄位,則新增credit欄位
if(!pdo_fieldexists('shopping_goods', 'credit')) {
pdo_query("ALTER TABLE ".tablename('shopping_goods')." ADD `credit` int(11) NOT NULL DEFAULT '0';");
}
pdo_indexexists:檢查表中是否存在某個索引
boolean pdo_indexexists($tablename, $indexname);
//如果site_slide表中不存在multiid索引,則新增multiid索引
if(!pdo_indexexists('site_slide', 'multiid')) {
pdo_query("ALTER TABLE ".tablename('site_slide')." ADD INDEX `multiid` (`multid`);")
}
pdo_tableexists:檢查資料庫中是否存在某個表
boolean pdo_tableexists($tablename);
pdo_debug:調試運行SQL語句,顯示執行過的SQL的棧情況
array pdo_debug($output = true, $append = array());
pdo_debug();
//調用該函數結果如下
Array
(
[0] => Array
(
[sql] => SET NAMES 'utf8';
[error] => Array
(
[0] => 00000
[1] =>
[2] =>
)
)
[1] => Array
(
[sql] => SELECT `value` FROM `ims_core_cache` WHERE `key`=:key
[params] => Array
(
[:key] => setting
)
[error] => Array
(
[0] => 00000
[1] =>
[2] =>
)
)
)
⑹ 已經更新到最新了,怎麼還是報一堆的 微擎SQL注入漏洞
first,不一定每台伺服器的IIS都返回具體錯誤提示給客戶端,
如果程序中加了cint(參數)之類語句的話,SQL注入是不會成功的,
但伺服器同樣會報錯,具體提示信息為處理 URL 時伺服器上出錯。
請和系統管理員聯絡。
second,目前大多數程序員已經將「』「 過濾掉,所以用」 』」測試不到注入點
所以一般使用經典的1=1和1=2測試方法
⑺ 微擎是mysql 還是mssql
MS SQL是指微軟的SQLServer資料庫伺服器,它是一個資料庫平台,提供資料庫的從伺服器到終端的完整的解決方案,其中資料庫伺服器部分,是一個資料庫管理系統,用於建立、使用和維護資料庫。SQL Server一開始並不是微軟自己研發的產品,而是當時為了要和IBM競爭時,與Sybase合作所產生的,其最早的發展者是Sybase,同時微軟也和Sybase合作過 SQL Server 4.2版本的研發,微軟亦將SQL Server 4.2移植到Windows NT(當時為3.1版),在與Sybase終止合作關系後,自力開發出SQL Server 6.0版,往後的SQL Server即均由微軟自行研發。
MySQL 是一個關系型資料庫,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關系型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體之一。MySQL 是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL 所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策(本詞條"授權政策"),它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。由於其社區版的性能卓越,搭配 PHP ,Linux和 Apache 可組成良好的開發環境,經過多年的web技術發展,在業內被廣泛使用的一種web伺服器解決方案之一,稱之為LAMP。
⑻ 阿里雲漏洞報警「微擎帳號管理SQL注入」,可以忽略嗎
基本可以忽略。我的網站伺服器,天天都收到一堆阿里雲的報警提示,有時候半夜也發。煩不勝煩。
網站基本上都沒有不存在漏洞的,絕對安全的網站都沒有。給你發這些信息最主要的是想讓你購買他們的服務或者安全軟體或者修補差價。