我有这个php代码,文件托管在另一台服务器上,而db其他地方
$hostname_xxx = "xxxdb.db.234141.mysqldbhosted.com";
$database_xxx = "xx11xx";
$username_xxx = "xx11xx";
$password_xxx = "xx332211xx";
$shasown = mysql_pconnect($hostname_xxx, $username_xxx, $password_xxx) or trigger_error(mysql_error(),E_USER_ERROR);
$your_ip = $_SERVER['REMOTE_ADDR'];
echo $your_ip;
$insertSQL1 = "INSERT INTO table (users_ip) VALUES ('$your_ip)";
mysql_select_db($database_xxx, $xxx);
$Result21 = mysql_query($insertSQL1, $xxx) or die(mysql_error());
我得到的错误是
警告:mysql_pconnect()[function.mysql-pconnect]:第8行/domains/4444.com/html/55.php查询期间与MySQL服务器的连接丢失
致命错误:第8行/domains/4444.com/html/55.php查询期间与MySQL服务器的连接丢失
由于 让
答案 0 :(得分:2)
mysql_pconnect()创建与数据库的持久连接,而mysql_connect()则不会。如果您正在创建持久连接,则只需在整个会话期间连接一次,因此如果您不止一次创建持久连接,则可能是原因。
在共享服务器上,可能值得在mysql_pconnect()上尝试mysql_connect(),看看这是否可以解决手头的问题。此外,在您的代码中,您有:
$Result21 = mysql_query($insertSQL1, $xxx) or die(mysql_error());
但应该是:
$Result21 = mysql_query($insertSQL1, $shasown) or die(mysql_error());
因为$ xxx从来不是连接变量,但$ shasown是。
我个人喜欢使用mysqli_connect(),因为我发现它要快一点。