猿问

PHP 连接到 MySQL:何时创建连接

随着我对 PHP 和 MySQL 的了解越来越多,我对何时创建到服务器的连接感到非常困惑。我想知道每次执行新查询时是否都必须创建新连接。例如,如果我想使用以下代码更新某些数据,是否需要创建两个连接?有人可以向我解释机制吗?谢谢!


$db_con2=new mysqli(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);

$db_con=new mysqli(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);


if($db_con){


    some operations omitted


    $stmt = $db_con2->prepare("");

    $stmt->bind_param();

    $stmt->execute();   

}


mysqli_close($db_con2);

mysqli_close($db_con);


人到中年有点甜
浏览 182回答 3
3回答

暮色呼如

将连接视为变量。$db_con作为您的连接,并在每个新脚本的开头建立它,(在脚本中使用类或包含的文件),然后您可以在同一变量上运行您需要的任何 SQL 查询。你没有需要手动关闭MySQLi的连接,因为已达到脚本结束时,这是自动关闭。因此不需要将$db_con->close()(这是正确的语法)放在脚本的最后几行。一个典型的脚本会包含一个包含连接数据的类或文件;在脚本的顶部,然后在整个脚本中使用它,并且在脚本的末尾自动忘记所有细节。也请不要与程序和面向对象的交互混淆。您当前使用的是面向对象的,但您的mysqli_close()函数调用是程序调用,并且这两种方法彼此不交互。

青春有我

您需要做的就是为连接对象创建一个不同的文件,并在需要的任何地方使用它,方法是在您想要连接对象的文件中包含此文件,如果您非常确定您使用的是相同的 HOST、DB 和它的表格贯穿您的整个项目。通过这种方式,您可以保存您的 LOC(代码行)从而使其成为最佳,这也将节省您的时间和不需要的繁琐工作。您也不需要每次都关闭连接。以下是可选的:mysqli_close(CONNECTION_OBJECT);
随时随地看视频慕课网APP
我要回答