PHP 连接 MySQL 可以很简单直接地 mysql_connect() 或 mysqli_connect(), 那么为什么是要 PDO? PDO 是功能更为强大的数据库 API, 即使将来要转换数据库系统, 只需更改连接的参数, 不需每个出现 mysql_* 函式的程式码都修改, 以往要做到这样, 通常是写一个简单的连接 MySQL class, 或者直接用 ADOdb 之类来做。 另一个优点是 PDO 会自动将用户的输入清理干净, 即防止 SQL …
要储存一些敏感的资料在档案或数据库, 基于安全考虑还是将资料加密, 在需要时再进行解读, 在 PHP 5.5 开始内建了加密函式 password_hash(), 操作上简单了不少。如果在其他 PHP 版本, 便需要加载加密的相关模组, 以下是不同版本实现的方法: PHP 5.5 或以上: 要验证用户输入的密码, 可以用 password_verify(): 未到 PHP 5.5, 但在 5.3.7 或以上 (包括 Redhat PHP 5.3.3 …
PHP 在 5.3 前要计算日期很麻烦, 在 PHP 5.3 开始已经内建相关函式, 计算日期变得简单很多, 例如要计算两个日期的差距, 可以这样: 而且输入的日期格式限制很少, 例如上面的日期格式可以输入 2015-05-12, 或者 12-05-2015 也可以。 上面的例子是计算两个日期相距的天数, 如果要计算往后 X 天的日期, 可以这样做:
有时需要在不同 MySQL 版本间做测试, 如果要在服务器内重启 MySQL 切换版本做测试会很麻烦, 以下纪录一下在服务器内安装两个 MySQL 同时运行, 当然如果有需要, 也可以按此方法安装 2 个以上的 MySQL。 以下假设第一个 MySQL Server 已经正常运作, 下面全是安装第二个 MySQL Server 的步骤: 1. 建立 MySQL 数据库目录: # mkdir /var/lib/mysql2 …
MySQL 的默认埠号是 3306, 要变更埠号可以有很多原因, 例如基于安全考量或者同时安全两个 MySQL Server 等, 以下是变更埠号的方法: 1. 开启 my.cnf 档案, Redhat 及 CentOS 开 /etc/my.cnf, Debian 放在 /etc/mysql/my.cnf。 加入以下这行到 段落, 如果已经有 port 的选项, 直接修改便可以, 下面会将埠号改为 3307: …
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 数据库出现重复资料时, 找出重复资料的方法有很多, 以下介绍两种常用的方法: 找出重复的纪录, 以 cid 字段作为判断, 会输出 cutomer_id 及出现次数: SELECT cid, COUNT(*) FROM customer GROUP BY cid HAVING COUNT(*) > 1 不是显示出现次数, 而是将重复的资料全部输出: select * from customer …
要检查 Email 及 URL 格式可以用正规表达式来做, 以下两个正规表达式分别可以检查 Email 及 URL 的格式是否正确。但要留意, 以下程式码只会检查格式, 而不会检查两者的有效性, 要检查有效性及真实性需要用其他方法。 PHP 检查 Email 格式 PHP 检查 URL 格式
PHP 执行时如果出现 Allowed memory size of xxxxxx bytes exhausted 错误, 即执行 PHP 时使用过多内存, 起出了 php.ini 设定的限制, 解决方法是修改 php.ini 的 memory_limit 参数, 如果是 Redhat / CentOS / Fedora 用 yum …
如果不小心将有用的资料错误删除或格式化, 使用资料救援软件还是有机会救回的。最重要是错误删除资料后, 不要再写入资料到硬盘, 以免新写入的资料覆蓋误删资料, 救回资料的机会及数量都会较多。这里介绍几款免费资料救援工具, 纪录一下以备不时之需。 但一般上资料救援工具对中文档案及资料夹支援较差, 救回后的资料档案及资料夹名称会不同, 我也试过救回的档案是英文档名, 但太长的档案也被截断, 所以要留意救回的资料档案名称不同的情况。 TestDisk & PhotoRec 虽然 TestDisk 是 DOS 命令模式工具, 但我个人还是十分推荐的, 记得在几年前我错误格式化了数码相机的 SD 咭, 用过另外两款救援软件都不能救回资料, 还怕被当时的女朋友 (现在的老婆) 狠狠骂一顿, 结果 TestDisk …