PDO 连接 MySQL

PHP 连接 MySQL 可以很简单直接地 mysql_connect() 或 mysqli_connect(), 那么为什么是要 PDO? PDO 是功能更为强大的数据库 API, 即使将来要转换数据库系统, 只需更改连接的参数, 不需每个出现 mysql_* 函式的程式码都修改, 以往要做到这样, 通常是写一个简单的连接 MySQL class, 或者直接用 ADOdb 之类来做。 另一个优点是 PDO 会自动将用户的输入清理干净, 即防止 SQL …

PHP 加密资料

要储存一些敏感的资料在档案或数据库, 基于安全考虑还是将资料加密, 在需要时再进行解读, 在 PHP 5.5 开始内建了加密函式 password_hash(), 操作上简单了不少。如果在其他 PHP 版本, 便需要加载加密的相关模组, 以下是不同版本实现的方法: PHP 5.5 或以上: 要验证用户输入的密码, 可以用 password_verify(): 未到 PHP 5.5, 但在 5.3.7 或以上 (包括 Redhat PHP 5.3.3 …

PHP 日期计算

PHP 在 5.3 前要计算日期很麻烦, 在 PHP 5.3 开始已经内建相关函式, 计算日期变得简单很多, 例如要计算两个日期的差距, 可以这样: 而且输入的日期格式限制很少, 例如上面的日期格式可以输入 2015-05-12, 或者 12-05-2015 也可以。 上面的例子是计算两个日期相距的天数, 如果要计算往后 X 天的日期, 可以这样做:

同时运行多个 MySQL

有时需要在不同 MySQL 版本间做测试, 如果要在服务器内重启 MySQL 切换版本做测试会很麻烦, 以下纪录一下在服务器内安装两个 MySQL 同时运行, 当然如果有需要, 也可以按此方法安装 2 个以上的 MySQL。 以下假设第一个 MySQL Server 已经正常运作, 下面全是安装第二个 MySQL Server 的步骤: 1. 建立 MySQL 数据库目录: # mkdir /var/lib/mysql2 …

变更 MySQL 默认埠号

MySQL 的默认埠号是 3306, 要变更埠号可以有很多原因, 例如基于安全考量或者同时安全两个 MySQL Server 等, 以下是变更埠号的方法: 1. 开启 my.cnf 档案, Redhat 及 CentOS 开 /etc/my.cnf, Debian 放在 /etc/mysql/my.cnf。 加入以下这行到 段落, 如果已经有 port 的选项, 直接修改便可以, 下面会将埠号改为 3307: …

RHEL / CentOS 安装 PIP

PIP 是 Python 的套件管理工具, 以下纪录一下在 RHEL / CentOS 安装 PIP 的方法: 首先要安装 EPEL repo, 不同版本需要安装不同的 rpm: RHEL / CentOS 7.x (x86_64) rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm RHEL / CentOS 6.x (x86_64) …

MySQL 找出重复资料

MySQL 数据库出现重复资料时, 找出重复资料的方法有很多, 以下介绍两种常用的方法: 找出重复的纪录, 以 cid 字段作为判断, 会输出 cutomer_id 及出现次数: SELECT cid, COUNT(*) FROM customer GROUP BY cid HAVING COUNT(*) > 1 不是显示出现次数, 而是将重复的资料全部输出: select * from customer …

PHP 检查 Email 及 URL 格式

要检查 Email 及 URL 格式可以用正规表达式来做, 以下两个正规表达式分别可以检查 Email 及 URL 的格式是否正确。但要留意, 以下程式码只会检查格式, 而不会检查两者的有效性, 要检查有效性及真实性需要用其他方法。 PHP 检查 Email 格式 PHP 检查 URL 格式

免费资料救援软件

如果不小心将有用的资料错误删除或格式化, 使用资料救援软件还是有机会救回的。最重要是错误删除资料后, 不要再写入资料到硬盘, 以免新写入的资料覆蓋误删资料, 救回资料的机会及数量都会较多。这里介绍几款免费资料救援工具, 纪录一下以备不时之需。 但一般上资料救援工具对中文档案及资料夹支援较差, 救回后的资料档案及资料夹名称会不同, 我也试过救回的档案是英文档名, 但太长的档案也被截断, 所以要留意救回的资料档案名称不同的情况。 TestDisk & PhotoRec 虽然 TestDisk 是 DOS 命令模式工具, 但我个人还是十分推荐的, 记得在几年前我错误格式化了数码相机的 SD 咭, 用过另外两款救援软件都不能救回资料, 还怕被当时的女朋友 (现在的老婆) 狠狠骂一顿, 结果 TestDisk …