第一种方法:

select (@i:=@i+1) as i,table_name.* from table_name,(select @i:=0) as it ;

第二种方法:

set @rownum=0;
select @rownum:=@rownum+1 as rownum, t.username from auth_user t limit 1,5;

如果你的用户访问量较少, 比如你24小时访问一次你的站点 , 可能会出现 send of 5 bytes failed with errno=32 Broken pipe in

这只是一种可能 . 几率很小

如果出现此错误 请到网站根目录/Conf/config.php

打开文件找到

//PDO配置
    'SQL_OPTION' => array(
        PDO::ATTR_CASE => PDO::CASE_NATURAL,
        PDO::ATTR_PERSISTENT => true //长连接
    ),

改为:

//PDO配置
    'SQL_OPTION' => array(
        PDO::ATTR_CASE => PDO::CASE_NATURAL,//把长连接此项删除即可
    ),

原因:

长连接是一种缓存句柄, 他可以让服务器减少产生MYSQL链接, 然而如果你的网站程序很久未使用 MYSQL句柄将会断开, 但 缓存句柄仍然存在, 从而网站会调用一个已经废弃的句柄, 导致通信管道不存在, 产生此错误!

这是一个悲哀的站长故事,因为他没用户

function numToWord($num)
{
    $chiNum = array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九');
    $chiNum['-'] = '负';
    $chiNum['+'] = '正';
    $chiUni = array('', '十', '百', '千', '万', '亿', '十', '百', '千');
    $num_str = (string)$num;
    $count = strlen($num_str);
    $last_flag = true; //上一个 是否为0
    $zero_flag = true; //是否第一个
    $temp_num = null; //临时数字
    $chiStr = '';//拼接结果
    if ($count == 2) {//两位数
        $temp_num = $num_str[0];
        $chiStr = $temp_num == 1 ? $chiUni[1] : $chiNum[$temp_num] . $chiUni[1];
        $temp_num = $num_str[1];
        $chiStr .= $temp_num == 0 ? '' : $chiNum[$temp_num];
    } else if ($count > 2) {
        $index = 0;
        for ($i = $count - 1; $i >= 0; $i--) {
            $temp_num = $num_str[$i];
            if ($temp_num == 0) {
                if (!$zero_flag && !$last_flag) {
                    $chiStr = $chiNum[$temp_num] . $chiStr;
                    $last_flag = true;
                }
            } else {
                $chiStr = $chiNum[$temp_num] . $chiUni[$index % 9] . $chiStr;
                $zero_flag = false;
                $last_flag = false;
            }
            $index++;
        }
    } else {
        $chiStr = $chiNum[$num_str[0]];
    }
    return $chiStr;
}
$num = -44;
echo numToWord($num);

输出

负四十四

composer常常出错
可以尝试下面几个切换后的再试试

composer config -g repo.packagist composer https://repo.packagist.org
composer config -g repo.packagist composer https://packagist.phpcomposer.com

// 阿里云 Composer 镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
// 腾讯云 Composer 镜像
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
// PHP 国内 Composer 镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
// 华为云 Composer 镜像
composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
// php.cnpkg.org Composer 镜像
composer config -g repo.packagist composer https://php.cnpkg.org

composer 使用代理

export https_proxy='192.168.0.1:7890'
export http_proxy='192.168.0.1:7890'

mysqldump导出数据
Windows环境下

创建 online_db.cnf 配置文件

[client]
host=127.0.0.1
port=3306
user=root
password=12345
skip-lock-tables=TRUE #该配置为了备份时不锁库
ignore-table=common.courses1
ignore-table=common.bonuses_old
ignore-table=common.lives
ignore-table=common.live_powers

创建 mysql_back.bat bat文件

set t=%date:~,4%年%date:~5,2%月%date:~8,2%日星期%date:~12,2%%time:~0,2%:%time:~3,2%:%time:~6,2%
D:\server\MySQL\bin\mysqldump.exe  --defaults-extra-file="online_db.cnf" course> "bak\online_course%t%.sql"

如果需要隐藏执行的bat窗口
创建 hide12345.vbs 文件

set ws=WScript.CreateObject("WScript.Shell")
ws.Run "mysql_back.bat",0

现在执行 hide12345.vbs 即可隐藏执行备份了
执行 mysql_back.bat 即可看见备份窗口, 备份完成后自动关闭

注意mysqldump.exe填写本机的正确路径