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注入”,可以忽略吗
基本可以忽略。我的网站服务器,天天都收到一堆阿里云的报警提示,有时候半夜也发。烦不胜烦。
网站基本上都没有不存在漏洞的,绝对安全的网站都没有。给你发这些信息最主要的是想让你购买他们的服务或者安全软件或者修补差价。