资源说明:PHP的MySQL配置
报错信息:Class ‘mysqli’ not found in
Answer:1.在conf/php.ini中,在vim用”/php_mysql”搜索到extension=php_mysql.dll,去掉前面的”;”,
同时在下面增加extension=php_mysqli.dll;
注意后面那个dll多了个i2.”/extension_dir”检查路径是否正确;
3.找到ext/目录,把其中的php_mysql.dll,php_mysqli.dll两个文件Copy to %systemroot%/system32下.
4.重启服务
连接数据库复制代码 代码如下: /
在PHP中连接MySQL数据库是开发Web应用程序的基本操作。本文将总结两种主要的连接方法,并讨论如何防止出现乱码问题。
1. **使用mysqli扩展**
- `mysqli` 是MySQL Improved Extension的缩写,是PHP中用于连接MySQL数据库的推荐方法。在PHP中,如果你收到“Class ‘mysqli’ not found”的错误,说明mysqli扩展未启用。
- 你需要在`php.ini`文件中启用mysqli扩展。通过`/php_mysql`搜索,取消`extension=php_mysql.dll`前的分号(";"),并在其下方添加`extension=php_mysqli.dll`。确保`extension_dir`设置正确,指向PHP扩展所在的目录。
- 接着,将`ext/`目录下的`php_mysql.dll`和`php_mysqli.dll`文件复制到`%systemroot%\system32`目录。
- 重启服务,然后可以使用以下代码连接MySQL数据库:
```php
$mysqli = new mysqli("127.0.0.1", "用户名", "密码", "库名");
$mysqli->query("SET NAMES 'gb2312'"); // 防止乱码
```
使用`$mysqli`对象执行SQL查询,例如:`$result = $mysqli->query($query);`
2. **使用mysql扩展(已废弃)**
- 虽然`mysql`扩展在较早的PHP版本中被广泛使用,但现在已被弃用,建议使用mysqli或PDO。如果仍然需要使用,配置过程与mysqli类似,但需要注意的是,此扩展在PHP 7中已被移除。
- 下面是使用mysql扩展连接MySQL的例子:
```php
$con = mysql_connect("localhost", "用户名", "密码");
if ($con) {
mysql_query("set names 'gb2312'"); // 防止乱码
mysql_select_db("库名", $con);
$rs = mysql_query("select * from 表 order by theindex desc;", $con);
if ($rs) {
echo "
";
while ($row = mysql_fetch_assoc($rs)) {
echo "$row[theindex] | $row[name] |
";
}
mysql_free_result($rs);
}
mysql_close($con);
}
```
**防止乱码的方法**
- 在连接数据库时,使用`SET NAMES`语句设置字符集,例如`SET NAMES 'gb2312'`。这确保了数据在传输过程中采用正确的编码,避免乱码问题。
- 确保数据库、表和字段的字符集设置与应用程序保持一致。通常推荐使用`utf8`或`utf8mb4`,以支持更多的Unicode字符。
- 在HTML中使用``声明页面编码,确保浏览器正确解析内容。
**总结**
- PHP连接MySQL的两种主要方法是mysqli扩展和已废弃的mysql扩展。mysqli提供更好的功能和面向对象的接口,而mysql扩展虽然简单,但不推荐新项目使用。
- 乱码问题通常由于字符集不匹配引起,确保在数据库连接、数据传输和页面显示时使用相同的字符集设置。
- 正确配置PHP环境和使用推荐的扩展能提高代码的稳定性和安全性。当遇到问题时,应首先检查配置文件和服务器设置,然后调整代码以适应需求。
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。