本文目录一览:
- 为什么php的mysql
- [升级php5.3 mysql 5.5 错误,求助](#升级php5.3 mysql 5.5 错误,求助)
- PHP7连接mysql数据库方法
- php5.5如何扩展php-mysql
为什么php的mysql
PHP提供了三种不同的API连接到MySQL,这三种API是:mysql、mysqli以及PDO扩展。MySql函数是非常受欢迎的,但是官方团队并不鼓励再使用它们。在PHP手册里边,当你看到关于Mysql的函数,会发现都标有红色的标志,那意味着它们已经被弃用了。弃用ext/mysql函数不仅安全,而且使用其他数据库查询方法可以同样具有MySQL函数的所有功能。更好的方法是使用PDO代替ext/mysql函数。 以下是PHP里不应该再使用mysql函数的3大原因:
- mysql函数已在PHP5.5中正式弃用,并将在PHP7中被删除。
- mysql函数缺少面向对象的接口。
- mysql函数不支持以下特性:
- 不支持非阻塞连续获取
- 不支持异步查询
- 不支持参数化查询
- 不支持存储过程
- 不支持多个语句
- 不支持在MySQL 5.1中的所有功能
- 不支持加密(SSL)
- 不支持压缩
- 不支持完整的字符集
升级php5.3 mysql 5.5 错误,求助
请说明你所使用的操作系统、PHP环境以及出错信息。如果泛泛而谈的话,原因很多。
- php.ini设置中,mysql扩展没有打开。
- php.ini设置中,ext目录指向不正确。目前发现部分版本在Win7中,ext要改成相对目录,而不是绝对目录。
- mysql的...
PHP7连接mysql数据库方法
- 用
mysql_connect
的方法,PHP7会报致命错误:
$conn = mysql_connect('localhost','xueyanxiang','xueyanxiang');
报错信息如下:
Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue-run() #1 {main} thrown in /Users/xueyanxiang/work/test/xue.php on line 31
原因:
PHP5中使用mysql_connect()
函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数。
PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:
本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择 API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:
mysqli_connect()
PDO::__construct()
使用时,不要在使用mysql_connect
了,可以换用mysqli_connect()
,用法基本类似吧,据说是面向对象的库。 php.ini中,也只有extension=php_mysqli.dll
,而不再有extension=php_mysql.dll
这个拓展了。
- 可以使用
mysqli
,对象化,方法名与被废弃的类似:
$conn = mysqli_connect('localhost','xueyanxiang','xueyanxiang');
- PDO工具,推荐使用:
$dbh = "mysql:host=localhost;dbname=test";
$db = new PDO($dbh,'xueyanxiang','xueyanxiang');
$objQuery = $db->query("select * from user;");
$res = $objQuery->fetchAll(PDO::FETCH_ASSOC);
不填写参数的话,默认是关联和索引都有,如下图。
php5.5如何扩展php-mysql
PHP5默认不支持mysql扩展,基本设置如下:
- php.ini设置
- 在php.ini里打开mysql扩展:
extension=php_gd2.dll extension=php_mbstring.dll extension=php_mcrypt.dll extension=php_mysql.dll extension=php_mysqli.dll
extension_dir
指向含有php_mysql.dll
的目录:extension_dir = "C:\php\ext\"
- 在php.ini里打开mysql扩展:
- 将
php.ini
拷贝到C:\Windows
下面。 - 将
libmysql.dll
、php5ts.dll
拷贝到C:\Windows\System32
下(或者在系统PATH中添加PHP目录:c:\php;C:\php\ext
)。 - Apache配置文件
httpd.conf
的修改:PHPIniDir "C:/php/"