我可以在PHP中混合使用MySQL API吗?

2022-08-30 07:21:03

我已经搜索了网络,到目前为止,我所看到的是,你可以使用和一起意味着:mysql_mysqli_

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

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

<?php
$con=mysql_connect("localhost", "root" ,"" ,"mysql");
if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}
mysqli_close($con);
echo "Done";
?>

是有效的,但当我使用此代码时,我得到的是:

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

对于第一个和相同的,除了与.对于第二个。mysqli_close()

问题出在哪里?我不能一起使用和一起使用吗?还是正常?我可以检查连接是否有效吗?(该mysql_mysqliif(mysq...))


答案 1

不,您不能一起使用和一起使用。它们是单独的 API,它们创建的资源彼此不兼容。mysqlmysqli

不过,有一个。mysqli_close


答案 2

在这里给出一个关于所有三个MYSQL API的一般答案,并附上参考:

你不能将PHP的三个(mysql_*mysqli_*PDO)MYSQL API中的任何一个混合在一起,它只是不起作用。它甚至在手动常见问题解答中:

无法混合使用扩展。因此,例如,将mysqli连接传递给PDO_MySQL或ext / mysql将不起作用


您需要使用相同的MySQL API及其相关功能,从连接到查询。


推荐