php学习小计处理几个常见的错误 PHP

Deprecated: Function ereg_replace() is deprecated

在php5.3.0后的版本,取消了对ereg函数的支持,惹得若干程序需要改动,譬如我安装的zen-card1.3.8,颇不方便。
错误:Deprecated: Function ereg() is deprecated in ……
解决方法一:退回去用php5.2。(众人皆赞道:果是好法子!)

解决方法二:继续用php5.3,但是修改devel/devel.modul的460行:if ($errno & (E_ALL ^ E_NOTICE)) {改为if ($errno & (E_ALL & ~E_NOTICE & ~E_DEPRECATED)) {把丫deprecated错误给忽略掉。(众人皆又赞道:果……果……果是好法子!)

解决方法三:动程序鸟,把ereg换成preg_match,ereg_replace也需得换成preg_replace。只得注意的是ereg("^[0-9]")    需修改成   preg_match("/^[0-9]/") 无敌//必须加,哈哈。(众人皆俯首赞道:王道也!)



PHP之短标签开启设置

//php.ini中

short_open_tag = On

//除<?php ?>,可使用更灵活的调用方法

<? /*程序操作*/ ?>

<?=/*函数*/?>

这样可以解决很多错误.比如提示错误在某代码最后一行.


Deprecated: Function set_magic_quotes_runtime() is deprecated in
原因高版本的php把set_magic_quotes_runtime去了,解决办法:

//把
set_magic_quotes_runtime(0);
//替代成
ini_set("magic_quotes_runtime",0);

即可解析了.

标签: 编程 代码 php

admin 发布于  2015-7-21 20:21 

emlog教程--为网页添加动态背景 (背景轮播) emlog

以前文章 最近发现一个插件所以重新更新下本文

插件名称: jquery.backstretch.js

下面是 示例代码:

设置网页背景:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全屏背景</title>
    <script src="http://api.asilu.com/cdn/jquery.js,jquery.backstretch.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$.backstretch('http://api.asilu.com/cdn/img/bg/444.jpg');
</script>
</body>
</html>
多张张图片切换:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>全屏背景切换</title>
    <script src="http://api.asilu.com/cdn/jquery.js,jquery.backstretch.min.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$.backstretch([
        'http://api.asilu.com/cdn/img/bg/444.jpg',
        'http://api.asilu.com/cdn/img/bg/445.jpg',
        'http://api.asilu.com/cdn/img/bg/446.jpg',
        'http://api.asilu.com/cdn/img/bg/447.jpg',
        'http://api.asilu.com/cdn/img/bg/448.jpg'
    ], {
        fade : 1000, // 动画时长
        duration : 2000 // 切换延时
});
</script>
</body>
</html>
该代码实现了, 背景图片的切换,带有切换效果的
第一个版本 切换效果用到了 jQuery 的动画,这个版本果断放弃 不需要 jQuery切换动画由CSS设置

具体代码如下
CSS 样式
JS 代码
HTML 就一个 div#bg简单实用

<meta http-equiv="Content-Type"content="text/html; charset=UTF-8"/>
<style>
div#bg {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -10;
  background-position: center 0;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  zoom: 1;

  opacity:1;
  transition: opacity 1s linear;
  -moz-transition: opacity 1s linear;
  -webkit-transition: opacity 1s linear;
  -o-transition: opacity 1s linear;
}
</style>
<h1><a href="http://gouji.org/?post=317">代码出处</a></h1>
<div id="bg"></div>
<script>
// 定义图片路径 {num} 为 可变的图片序号
var bgImgUrl = 'http://api.asilu.com/cdn/img/bg/{num}.jpg', bgNum,
    bgImgArr = [],
    bgDiv = document.getElementById("bg");
// 组合数组 此处 200 为 图开始序号 结束 210
for (var i=200; i <= 210; i++){
  bgImgArr.push(bgImgUrl.replace('{num}', i));
}
setBGimg();
function setBGimg(d){
  if(!bgNum || bgNum > bgImgArr.length) bgNum = 0;
  bgDiv.style.opacity = .001;
  setTimeout(function(){
    bgDiv.style.backgroundImage = 'url('+ bgImgArr[bgNum] +')';
    bgDiv.style.opacity = 1;
  }, 1000);
  bgNum++;
  if(typeof d == 'undefined') 
    setInterval(function(){setBGimg(true);}, 6000);
    // 上一行的 6000 是背景图片自动切换时间(单位 毫秒)
}
</script>
原文为简爱博客,地址:http://www.gouji.org/?post=317


admin 发布于  2015-7-20 21:23 

想装逼?提升逼格?自慰?戳进来-Mrxn教你让文章浏览数随机增加 emlog

如题:想装逼?提升逼格?自慰?戳进来-Mrxn教你让文章浏览数随机增加

之前在论坛看过这种帖子,还有人求助...

看了一下各位给出的答案就是夹固定的数量.我想这么装逼不是很爽,不舒服呀.别人一看就知道了.你每次刷新网页增加的都是一样的.-_-|

今天我看自己也前的文章的时候发现了这篇文章:让emlog侧边栏显示彩色标签,随机显示标签,数量多少有你控制

于是就想到了这个.rand()php随机函数  于是就有了如下的装逼姿势:

/**
     * 增加阅读次数
     *
     * @param int $blogId
     */
    function updateViewCount($blogId) {
        $vnum=rand(1,7);
        $this->db->query("UPDATE " . DB_PREFIX . "blog SET views=views+'$vnum' WHERE gid=$blogId");
    }
友情提示:装逼有风险.请自行买保险!

这样修改了 include/mode/log_model.php 的第 302行 后,装逼姿势就优雅多了,有木有,rand(1,7)可以自己随便修改的.

总地来说.就装逼,然并卵!自慰吧.骚年!   Mrxn writed 2015/07/20


admin 发布于  2015-7-20 17:00 

腾讯视频解析接口 技术文章

普通流视频(完整视频)

http://vv.video.qq.com/geturl?vid=v00149uf4ir&otype=json

高清视频(分段视频)

1080P-fhd,超清-shd,高清-hd,标清-sd
http://vv.video.qq.com/getinfo?vids=v00149uf4ir&otype=json&charge=0&defaultfmt=shd

其他可用解析
vv.video.qq.com/getinfo.*
tt.video.qq.com/getinfo.*
ice.video.qq.com/getinfo.*
tjsa.video.qq.com/getinfo.*
a10.video.qq.com/getinfo.*
xyy.video.qq.com/getinfo.*
vcp.video.qq.com/getinfo.*
vsh.video.qq.com/getinfo.*
vbj.video.qq.com/getinfo.*
bobo.video.qq.com/getinfo.*
flvs.video.qq.com/getinfo.*
rcgi.video.qq.com/report.*

admin 发布于  2015-7-20 11:42 

Emlog显示评论者IP地理信息的三种方法-三种方法-重要的说两遍 emlog

emlog系统存储了评论人的IP地址,有的时候,需要显示该IP的真实地理地址,可以通过以下两种方法获得。

一、本地获得IP地理地址。通过本地查找本地IP数据库(纯真版)来获得,IP数据库可以到http://www.cz88.net/下载安装后,在安装目录里把qqwry.dat文件提取出来,放到emlog根目录即可。 (保证与index.php同在一个目录中)

在module.php中添加以下代码:


<?php
 //获取IP地理地址
$data = '254.254.254.254';
 class IpLocation {
      var $fp;
      var $firstip;
      var $lastip;
      var $totalip;

      function getlong() {
         $result = unpack('Vlong', fread($this->fp, 4));
         return $result['long'];
      }

     function getlong3() {
         $result = unpack('Vlong', fread($this->fp, 3).chr(0));
         return $result['long'];
      }

      function packip($ip) {
         return pack('N', intval(ip2long($ip)));
      }

      function getstring($data = "") {
         $char = fread($this->fp, 1);
         while (ord($char) > 0) {
             $data .= $char;
             $char = fread($this->fp, 1);
         }
         return $data;
      }

      function getarea() {
         $byte = fread($this->fp, 1);
         switch (ord($byte)) {
             case 0:
                $area = "";
                break;
             case 1:
             case 2:
                fseek($this->fp, $this->getlong3());
                $area = $this->getstring();
                break;
             default: 
                $area = $this->getstring($byte);
                break;
         }
         return $area;
         }

      function getlocation($ip) {

         if (!$this->fp) return null;
         $location['ip'] = gethostbyname($ip); 
         $ip = $this->packip($location['ip']);
         $l = 0; 
         $u = $this->totalip;
         $findip = $this->lastip;
         while ($l <= $u) { 
             $i = floor(($l + $u) / 2); 
             fseek($this->fp, $this->firstip + $i * 7);
             $beginip = strrev(fread($this->fp, 4));
             if ($ip < $beginip) {
                $u = $i - 1;
             }
             else {
                fseek($this->fp, $this->getlong3());
                $endip = strrev(fread($this->fp, 4));
                if ($ip > $endip) {
                    $l = $i + 1; 
                }
                else {
                    $findip = $this->firstip + $i * 7;
                    break;
                }
             }
         }
         fseek($this->fp, $findip);
         $location['beginip'] = long2ip($this->getlong()); 
         $offset = $this->getlong3();
         fseek($this->fp, $offset);
         $location['endip'] = long2ip($this->getlong());
         $byte = fread($this->fp, 1); 
         switch (ord($byte)) {
             case 1: 
                $countryOffset = $this->getlong3();
                fseek($this->fp, $countryOffset);
                $byte = fread($this->fp, 1);
                switch (ord($byte)) {
                    case 2: 
                       fseek($this->fp, $this->getlong3());
                       $location['country'] = $this->getstring();
                       fseek($this->fp, $countryOffset + 4);
                       $location['area'] = $this->getarea();
                       break;
                    default: 
                       $location['country'] = $this->getstring($byte);
                       $location['area'] = $this->getarea();
                       break;
                }
                break;
             case 2:
                fseek($this->fp, $this->getlong3());
                $location['country'] = $this->getstring();
                fseek($this->fp, $offset + 8);
                $location['area'] = $this->getarea();
                break;
             default: 
                $location['country'] = $this->getstring($byte);
                $location['area'] = $this->getarea();
                break;
         }
         if ($location['country'] == " CZNET") { 
             $location['country'] = "未知";
         }
         if ($location['area'] == " CZNET") {
             $location['area'] = "";
         }
         return $location;
      }

      function IpLocation($filename = "qqwry.dat") {
         $this->fp = 0;
         if (($this->fp = @fopen($filename, 'rb')) !== false) {
             $this->firstip = $this->getlong();
             $this->lastip = $this->getlong();
             $this->totalip = ($this->lastip - $this->firstip) / 7;
             register_shutdown_function(array(&$this, '_IpLocation'));
         }
      }

      function _IpLocation() {
         if ($this->fp) {
             fclose($this->fp);
         }
         $this->fp = 0;
      }
 }

 function getaddress($myip){
 $ipOrDomain=$myip;
 $iplocation = new IpLocation();
 $location = $iplocation->getlocation($ipOrDomain);
 $address=mb_convert_encoding($location['country'].$location['area'], "utf-8", "gbk");
 return $address;
 }
 ?>

然后在需要显示的地方插入:



<?php echo getaddress($comment['ip']);?>



即可。

 

二、通过远程网站相关接口实现。

在module.php中添加以下代码:


 <?php
 //blog:获取IP地址所在地,提取新浪IP接口
function getaddress($ip)
 {
 //调用sina查询接口
$str = file_get_contents("http://counter.sina.com.cn/ip?ip=".$ip);
 //转换字符集
$str = mb_convert_encoding($str,"UTF-8","GBK");  
 //匹配结果
preg_match_all('/[\x{4e00}-\x{9fa5}]+/u',$str,$get);
 //将数组转换成字符串
$add = implode('-',$get[0]);
 //返回结果
return $add;
 }
 ?>

然后在需要显示的地方插入:



<?php echo getaddress($comment['ip']);?>

即可。

图片显示方式:

<a title= <?php echo getaddress($comment['ip']);?>>&nbsp;<img src="./content/templates/default/images/ip.png"></a>
其中ip.png这个图标会显示在评论人的后面,图片自找,鼠标放上去会显示地理地址。

另一种方法显示IP:


1.首先在当前模板的module.php最后添加如下代码:


    <?php
    function convertip($ip) {   
        $dat_path = EMLOG_ROOT.'/content/templates/你的模板文件/QQWry.Dat'; //*数据库路径*//  
        if(!$fd = @fopen($dat_path, 'rb')){   
            return 'IP数据库文件不存在或者禁止访问或者已经被删除!';   
        }   
        $ip = explode('.', $ip);   
        $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3];   
        $DataBegin = fread($fd, 4);   
        $DataEnd = fread($fd, 4);   
        $ipbegin = implode('', unpack('L', $DataBegin));   
        if($ipbegin < 0) $ipbegin += pow(2, 32);   
        $ipend = implode('', unpack('L', $DataEnd));   
        if($ipend < 0) $ipend += pow(2, 32);   
        $ipAllNum = ($ipend - $ipbegin) / 7 + 1;   
        $BeginNum = 0;   
        $EndNum = $ipAllNum;   
        while($ip1num>$ipNum || $ip2num<$ipNum) {   
            $Middle= intval(($EndNum + $BeginNum) / 2);   
            fseek($fd, $ipbegin + 7 * $Middle);   
            $ipData1 = fread($fd, 4);   
            if(strlen($ipData1) < 4) {   
                fclose($fd);   
                return '系统出错!';   
            }   
            $ip1num = implode('', unpack('L', $ipData1));   
            if($ip1num < 0) $ip1num += pow(2, 32);   
            if($ip1num > $ipNum) {   
                $EndNum = $Middle;   
                continue;   
            }   
            $DataSeek = fread($fd, 3);   
            if(strlen($DataSeek) < 3) {   
                fclose($fd);   
                return '系统出错!';   
            }   
            $DataSeek = implode('', unpack('L', $DataSeek.chr(0)));   
            fseek($fd, $DataSeek);   
            $ipData2 = fread($fd, 4);   
            if(strlen($ipData2) < 4) {   
                fclose($fd);   
                return '系统出错!';   
            }   
            $ip2num = implode('', unpack('L', $ipData2));   
            if($ip2num < 0) $ip2num += pow(2, 32);   
            if($ip2num < $ipNum) {   
                if($Middle == $BeginNum) {   
                    fclose($fd);   
                    return '未知';   
                }   
                $BeginNum = $Middle;   
            }   
        }   
        $ipFlag = fread($fd, 1);   
        if($ipFlag == chr(1)) {   
            $ipSeek = fread($fd, 3);   
            if(strlen($ipSeek) < 3) {   
                fclose($fd);   
                return '系统出错!';   
            }   
            $ipSeek = implode('', unpack('L', $ipSeek.chr(0)));   
            fseek($fd, $ipSeek);   
            $ipFlag = fread($fd, 1);   
        }   
        if($ipFlag == chr(2)) {   
            $AddrSeek = fread($fd, 3);   
            if(strlen($AddrSeek) < 3) {   
                fclose($fd);   
                return '系统出错!';   
            }   
            $ipFlag = fread($fd, 1);   
            if($ipFlag == chr(2)) {   
                $AddrSeek2 = fread($fd, 3);   
                if(strlen($AddrSeek2) < 3) {   
                    fclose($fd);   
                    return '系统出错!';   
                }   
                $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));   
                fseek($fd, $AddrSeek2);   
            } else {   
                fseek($fd, -1, SEEK_CUR);   
            }   
            while(($char = fread($fd, 1)) != chr(0))   
            $ipAddr2 .= $char;   
            $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));   
            fseek($fd, $AddrSeek);   
            while(($char = fread($fd, 1)) != chr(0))   
            $ipAddr1 .= $char;   
        } else {   
            fseek($fd, -1, SEEK_CUR);   
            while(($char = fread($fd, 1)) != chr(0))   
            $ipAddr1 .= $char;   

            $ipFlag = fread($fd, 1);   
            if($ipFlag == chr(2)) {   
                $AddrSeek2 = fread($fd, 3);   
                if(strlen($AddrSeek2) < 3) {   
                    fclose($fd);   
                    return '系统出错!';   
                }   
                $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));   
                fseek($fd, $AddrSeek2);   
            } else {   
                fseek($fd, -1, SEEK_CUR);   
            }   
            while(($char = fread($fd, 1)) != chr(0)){   
                $ipAddr2 .= $char;   
            }   
        }   
        fclose($fd);   
        if(preg_match('/http/i', $ipAddr2)) {   
            $ipAddr2 = '';   
        }   
        $ipaddr = "$ipAddr1 $ipAddr2";   
        $ipaddr = preg_replace('/CZ88.Net/is', '', $ipaddr);   
        $ipaddr = preg_replace('/^s*/is', '', $ipaddr);   
        $ipaddr = preg_replace('/s*$/is', '', $ipaddr);   
        if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {   
            $ipaddr = '未知';   
        }   
        $ipaddr = iconv('gbk', 'utf-8//IGNORE', $ipaddr);    
        if( $ipaddr != '  ' )   
            return $ipaddr;   
        else  
            $ipaddr = '评论者来自火星,无法或者其所在地!';   
            return $ipaddr;   
    }
    ?>

然后再在评论中添加要你要显示位置。原作者未给出图片提示的代码。

纯文字显示代码:

<?php echo convertip($comment['ip']); ?>

图片title显示代码:



<img src="<?php echo BLOG_URL; ?>XXX/ip.png" alt="<?php echo convertip($comment['ip']); ?>" title="<?php echo convertip($comment['ip']); ?>"   width="16" height="16" class="useragent" data-bd-imgshare-binded="1">

上面代码中的XXX/ip.png是图片路径

其中使用到的纯真数据库以及图片自己下载,本博主暂不提供。



admin 发布于  2015-7-19 16:32 

IDM 6.23 Build 16 破解安装版 破解软件

由于自己瞎折腾,前两天修改了域名DNS导致无法访问,所以呢,这个破解文软件我就发在了吾爱破解(原帖地址:http://www.52pojie.cn/thread-384442-1-1.html),今天网站好了.所以就直接复制过来了,方便没有账号的同学查看,下载使用.


科普一下:不想看的请往下拉或者是 Ctrl + W
       Internet Download Manager(简称“IDM”)是国外的一款下载工具,提升你的下载速度最多达5倍,安排下载时程,或续传一半的软件。Internet Download Manager的续传功能可以恢复因为断线、网络问题、计算机当机甚至无预警的停电导致下传到一半的软件。此程序具有动态档案分割、多重下载点技术,而且 它会重复使用现有的联机,而不需再重新联机登入一遍。聪明的in-speed技术会动态地将所有设定应用到某种联机类型,以充分利用下载速度。 Internet Download Manager支持下载队列、防火墙、代{过}{滤}理服务器和映摄服务器、重新导向、cookies、需要验证的目录,以及各种不同的服务器平台。此程 序紧密地与Internet Explorer和Netscape COmmunicator结合,自动地处理你的下载需求。此程序还具有下载逻辑最佳化功能、检查病毒,以及多种偏好设定。
该软件同时是一款共享软件。8天免费试用。正式版则需要支付29.95美元(每月均有部分时间仅售24.95美元)并理论上享受终身免费更新(虽然网站宣布一年内免费更新)。凭借着下载计算的速度优势在外媒网站中均受好评,已被多数国人熟知。

今天开机就提示我更新了..如图:

好吧,我就更新吧.

这是破解后的最新版:IDM 6.23 Build 16

好了 废话不多说.下面说说怎么破解.
首先下载IDM 官网下载链接: 点击下载  或者是打开官方网页下载:http://www.internetdownloadmanager.com/download.html
然后下载 破解补丁程序:

点击下载    防和谐链接 提取码:79zu

这破解方法暂时不会反弹,不存在过不了多久就弹出提示注册神马烦人的对话框.补丁源于国外的大神制作.
打开里面的 应用程序 internet.download.manager.6.x.x.update.8-patch.exe
然后点击 Patch

之后会出现一个输入框 输入firstname   随便输入 Eg:Mrxn
然后会弹出第二个输入框  last name  同样随便输入 Eg:net
之后就会提示成功 如图所示.
切记:破解期间 请关闭IDM
链接如有失效,请及时通知我.

Powered By Mrxn 2015-07-17

标签: 编程 分享

admin 发布于  2015-7-17 13:32 

MySQL学习之多表更新一步到位 代码人生

首先说明:个人学习笔记而已,不喜勿看,以免不适.

mysql> CREATE TABLE IF NOT EXISTS tdb_goods_cates(

-> cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,

-> cate_name VARCHAR(40) NOT NULL)

-> default charset=utf8

-> ;

Query OK, 0 rows affected (0.02 sec)



mysql> set NAMES gbk;

Query OK, 0 rows affected (0.00 sec)


在要创建的表后加 DEFAULT CHARSET=utf8; 防止中文乱码

链接类型
INNER JOIN 内连接
JOIN, CROSS JOIN, INNER JOIN 是等价的
RIGHT [OUTER] JOIN 右外链接

连接条件:
使用 ON 关键字来设定连接条件,也可以使用 WHERE 来代替。
通常使用 ON 关键字来设定连接条件
使用 WHERE 关键字进行结果集记录的过滤
内连接:返回左表及右表符合连接条件的记录(即两表的交集部分)

UPDATE table_references SET col_name1={express|DEFAULT} [,col_name2={expr2|DEFAULT}]...[WHERE where_condition]

语法结构
table_reference
{[INNER|CROSS]JOIN|{LEFT|RIGHT}[OUTER]JOIN}
Ttable_reference
ON condition_expr

外连接:
以左外连接为例:
A LEFT JOIN B join_condition
数据表B的结果集依赖于数据表A
数据表A的结果集根据左连接条件依赖所有数据表(B表除外)
左外连接条件决定如何检索数据表B(在没有指定WHERE条件的情况下)
如果数据表A的某条记录符合WHERE条件,但是在数据表B不存在符合连接条件的记录,将生成一个所有列为空的额外的B行
内连接:
使用内连接查找的记录在连接数据表中不存在,并且在WHERE子句中尝试一下操作:column_name IS NULL 。如果 column_name 被指定为 NOT NULL,MySQL将在找到符合连接着条件的记录后停止搜索更多的行(查找冲突)

mysql> UPDATE tdb_goods INNER JOIN tdb_goods_cates ON goods_cate=cate_name
-> SET goods_cate=cate_id;
Query OK, 22 rows affected (0.01 sec)
Rows matched: 22 Changed: 22 Warnings: 0

mysql> CREATE TABLE IF NOT EXISTS tdb_goods_brands(
musqlbrand_id SMALLINT PRIMARY KEY AUTO_INCREMENT,
brand_name VARCHAR(40) NOT NUL)
DEFAULT CHARSET=UTF8
SELECT brand_name FROM tdb_goods GROUP BY brand_name;
多表更新 一步到位 在创建表的时候就将选择(select)插入(insert)一起搞定
mysql> UPDATE tdb_goods INNER JOIN tdb_goods_brands ON brand_name = brand_name
SET brand_name = brand_id;
这样将会出现错误 因为MySQL不能分清brand_name所指的是哪一个表的字段,因此 需要设置别名或者是字段前面加上表明
mysql> UPDATE tdb_goods AS A INNER JOIN tdb_goods_brands AS B ON A.brand_name =
B.brand_name SET A.brand_name = B.brand_id;
一般情况下使用别名 比较方便.
但是
| goods_cate | varchar(40)

| brand_name | varchar(40)
最好做如下修改
mysql> ALTER TABLE tdb_goods
-> CHANGE goods_cate cate_id SMALLINT UNSIGNED NOT NULL,
-> CHANGE brand_name brand_id SMALLINT UNSIGNED NOT NULL;
Query OK, 23 rows affected, 1 warning (0.06 sec)
Records: 23 Duplicates: 0 Warnings: 1
使用ALTER TABLE 修改指定表的字段或者字段的值


admin 发布于  2015-7-12 14:48 

MySQL的增(insert)删(delete)改(update)查(select)学习小计 代码人生


记录操作://插入数据
INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr|DEFAULT},...),(...),...
INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...
INSERT [INTO] tbl_name [(col_name,...)] SELECT...

UPDATE://更新数据
单表更新/UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT},[col_name2={expr2|DEFAULT}]...[WHERE where_condition]
多表更新/...

DELETE : //删除数据
单表删除/DELETE FROM tbl_name [WHERE where_condition}
多表删除/...

SELECT: //查询
SELECT select_expr [,select_expr ...]
[
FROM
WHERE
GROUP BY {col_name | position}[ASC|DESC],...
LIMIT {[offset,] row_count|row_count OFFSET offset
]

解决乱码的问题:
1.show variables like "%char%";
类似set character_set_results=utf8;,能改的都改为uft8
2.在要创建的表后加ENGINE=InnoDB DEFAULT CHARSET=utf8;

以utf8为例:
建表时,应当加上CREATE TABLE IF NOT EXISTS $tableName($paramArray) default charset=utf8选项;
插入数据前,应当先设置编码:SET NAMES utf8|gbk|gb2312;
然后插入数据:INSERT $tableName($param2insertArray) VALUES($valueArray);

set names gbk:表示只是设置客户端的显示编码,不会影响数据编码


admin 发布于  2015-7-10 15:52 

mysql ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in 解决办法 代码人生

ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in 如图所示,我在使用MySQL的时候呢,遇到了这种问题,通过度娘找到了答案,在此小计.以便日后查看,大手子绕道,勿喷.

用到两个时间戳相减来做查询条件,由于其两个字段都是unsigned的,并两个的大小是不一样。所以直接相减查询的时候,

07-08-40-49.png

就出现ERROR 1690 (22003): BIGINT UNSIGNED value is out of range in..的错误,因为结果可能会出现负数。。。。

07-08-33-11.png

解决办法呢,就是执行下面这句MySQL语句即可:

mysql>SET sql_mode='NO_UNSIGNED_SUBTRACTION';

07-08-34-06.png

从图中可以看到解决了.原理如下:

类型属性   在介绍数据类型前先来介绍两个属性UNSIGNED和ZEROFILL是否使用这两个属性对选择数据类型有着莫大的关系。  

1. UNSIGNED   UNSIGNED属性就是将数字类型无符号化与C、C++这些程序语言中的unsigned含义相同。例如INT的类型范围是-2 147 483 648  2 147 483 647 INT UNSIGNED的范围类型就是0  4 294 967 295。   看起来这是一个不错的属性选项特别是对于主键是自增长的类型因为一般来说用户都希望主键是非负数。

2.也可以使用 as signed 加在需要执行的MySQL语句解决.



admin 发布于  2015-7-10 07:32 

破解百度网盘私密分享密码-就是这么任性 破解软件

今天Mrxn给大家分享的一款小工具就是破解百度网盘私密分享密码.百度网盘的私密分享,想不大家都不陌生,就不做过多介绍;

07-19-15-48.png

有时候知道了链接,去不知道密码,比如你通过百度搜索引擎搜索到了你想要的资源在某个论坛的帖子里面,但是恰好,这个帖子给除了地址,但是密码 需要回复可见,而此论坛又需要邀请码注册,此时,这个小工具就派上用场了.

07-19-15-32.png

07-19-22-00.png

我作为测试,就拿自己分享的来测试了一下,速度很快;

可破解百度网盘分享的加密文件,破解时间决定于网络速度,百分百可以破解,只是时间问题,百度网盘是 4位加密的,以26位小写字母 和10位数字组成,也就是跑包1679616次就能试出密码,

07-19-22-20.png
本软件只提供技术交流!产生的任何法律责任与作者无关,切勿非法用途!

2015-7-3 更新

【百度网盘加密文件破解V2.0】

1, 增加定位穷举功能,可定义位置穷举,

2,增加保存进度功能,跑到一半是再也不怕死机了,

3,增加防掉包,漏包效率,

4,优化数据读取速度

5,优化界面

原先是需要注册的,但是已被爆菊.直接使用打开就是已注册版.

链接格式:

打开这个 链接:http://pan.baidu.com/s/1bnbKq7t 后跳转到如下这个地址格式的页面;

http://pan.baidu.com/share/init?shareid=4229148963&uk=2132293084

复制到软件里面就可以了..效果杠杠的.

下载地址:

http://yunpan.cn/cQNJNsmQtIN2q (提取码:2b4c)(失效)

2015-12-7 更新链接:http://pan.baidu.com/s/1dEw5FLR

备用地址:  https://userscloud.com/wxx7u3xrevro


PS:其实360云盘也有这种工具的.乌云上还提交过这个漏洞(貌似).


admin 发布于  2015-7-4 18:23