下面的脚本用于更新 100 个数据库的模式。
我正在调用 mysql_connect,mysql_select_db 是否会导致建立另一个连接或者我还好吗? (我运行这个脚本来更新 100 个左右数据库的模式)
$conn = mysql_connect("localhost", "root", "PASSWORD");
$show_db_query = mysql_query('SHOW databases');
$databases = array();
while ($row = mysql_fetch_assoc($show_db_query))
{
if (!in_array($row['Database'], $exclude_dbs))
{
$databases[] = $row['Database'];
}
}
foreach($databases as $database)
{
mysql_select_db($database, $conn);
echo "Running queries on $database\n***********************************\n";
foreach($sql_queries as $query)
{
if (!empty($query))
{
echo "$query;";
if (!mysql_query($query))
{
echo "\n\nERROR: ".mysql_error()."\n\n";
}
}
}
echo "\n\n";
}
最佳答案
只要 mysql_select_db
找到最后一个连接或连接标识符随调用语句一起提供,它就不会创建新连接。
由于您传递的是连接标识符,因此它不会创建与 mysql 的新连接。在这种多连接的情况下你可以安全地进行,但要注意 mysql
扩展不再维护,你可以尝试 mysqli
或 PDO
。
关于php - 这个 php 脚本中会发生太多连接吗? (mysql_select_db),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13331942/