在我的脚本中,我链接到连接到我的数据库的页面:
包括“connect.php”;
connect.php
<?php
error_reporting(E_ERROR);
/* Allows PHP to connect to your database */
// Database Variables
$Host = "myhost";
$User = "username";
$Password = "password";
$DBName = "database";
// Connect to Database
$connect = mysql_connect($Host, $User, $Password)
or die ("Could not connect to server ... \n" . mysql_error ());
mysql_select_db($DBName)
or die ("Could not connect to database ... \n" . mysql_error ());
?
然后在另一个脚本中我有一个插入查询:
include "connect.php";
$Link = mysql_connect($Host, $User, $Password);
$Query = "INSERT INTO mytable VALUES ('0','".mysql_escape_string($forename)."','".mysql_escape_string($surname)."', '".mysql_escape_string($username)."', '".mysql_escape_string($password)."', '".mysql_escape_string($email)."')";
if(mysql_db_query ($DBName, $Query, $Link)) {
$message = "You have successfully registered";
header("Location: register.php?message=".urlencode($message));
} else {
die("Query was: $Query. Error: ".mysql_error($Link));
}
}
}
为什么这是必要的:
$Link = mysql_connect($Host, $User, $Password);
是否已建立连接?
答案 0 :(得分:0)
这样做没有意义,特别是如果没有给出mysql_*
函数将假定最后打开的连接。
但是,即使拨打mysql_connect
两次,也只会建立一个连接。来自docs:
如果使用相同的参数对
mysql_connect()
进行第二次调用,则不会建立新的链接,而是返回已打开的链接的链接标识符。new_link
参数会修改此行为,并使mysql_connect()
始终打开新链接,即使之前使用相同参数调用mysql_connect()
也是如此。
因此,默认情况下,将返回现有连接。