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

我搜索过网络,到目前为止我所看到的是你可以使用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";?>

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

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

对于第一个和相同的除外mysqli_close()。对于第二个。

问题是什么?我不能使用mysql_mysqli在一起?还是正常的?我可以检查连接是否有效吗?(if(mysq...)


holdtom
浏览 387回答 4
4回答

慕桂英4014372

不,你不能使用mysql和mysqli在一起。它们是单独的API,它们创建的资源彼此不兼容。但是有一个mysqli_close。

回首忆惘然

从技术上讲,你可以根据需要使用尽可能多的单独连接,而你的问题只是由一个错字引起 - 你只能使用一个扩展中的资源和另一个扩展中的功能,这很明显。但是,您应该避免来自同一脚本的多个连接,无论是单个API还是不同的API。因为它会增加数据库服务器的负担并耗尽其资源。因此,尽管技术上可以,但您不应在代码中混合使用不同的扩展,除了短时间的重构。

撒科打诨

MySQLi比MySQL现在弃用的更安全。这就是为什么你应该坚持,MySQLi也不能混合它们,因为它们都是不同的。
打开App,查看更多内容
随时随地看视频慕课网APP