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中文网其他相关文章!