首页 > 后端开发 > php教程 > MySQL 的 `mysql_` 和 `mysqli_` API 可以在 PHP 中一起使用吗?

MySQL 的 `mysql_` 和 `mysqli_` API 可以在 PHP 中一起使用吗?

Mary-Kate Olsen
发布: 2025-01-04 11:21:35
原创
341 人浏览过

Can MySQL's `mysql_` and `mysqli_` APIs Be Used Together in PHP?

MySQL API 可以在 PHP 中混合吗?

不建议在 PHP 中混合 MySQL API。 PHP 提供了两个 MySQL API 扩展:mysql_ 和 mysqli_。这些扩展是独立的,并且它们的资源不兼容。

您提供的代码演示了该问题:

$con = mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}

mysql_close($con);
echo "Done";
登录后复制

此代码导致以下错误:

Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done
登录后复制

发生此错误是因为 mysql_close() 需要 MySQL 资源作为输入,但您提供了 mysqli

解决方案:

要解决此问题,请在整个代码中一致地仅使用一个 MySQL API 扩展。如果您使用 mysqli_ 扩展,请使用 mysqli_connect() 和 mysqli_close() 打开和关闭连接。同样,如果您使用 mysql_ 扩展,请使用 mysql_connect() 和 mysql_close()。

检查连接有效性:

mysql_connect_errno() 和 mysqli_connect_errno() 都可以用于检查连接是否有效。如果返回值为0,则连接有效。否则出现错误。

示例:

$con = mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect: " . mysqli_connect_error();
}else{
    echo "connected";
}
登录后复制

以上是MySQL 的 `mysql_` 和 `mysqli_` API 可以在 PHP 中一起使用吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板