0

输出:

警告:mysql_query(): 6 在第 94 行的 C:...\mysql_helper.php 中不是有效的 MySQL-Link 资源

$con = mysql_connect($GLOBALS['mysql_host'], $GLOBALS['mysql_username'], $GLOBALS['mysql_password']) or die(mysql_error());
$db = mysql_select_db($GLOBALS['mysql_database']) or die(mysql_error($con));


$username=sanitize_mysql($username);
$password=sanitize_mysql($password);
$email=sanitize_mysql($email);

if(check_exists("users", "username", $username) == FALSE){ 
    $query = "INSERT INTO users VALUES('".$username."','".$password."','".$email."','".$status."','".$reg_date."','".$own_ref_id."','')";
    $result = mysql_query($query,$con) or die(mysql_error($con));
    return TRUE;
} else {
    return FALSE;
}
mysql_close($con);

适用于像这样构建的所有其他功能(复制/粘贴)

这是 check_exists

    function check_exists($table,$specifier,$value)
{
    $con = mysql_connect($GLOBALS['mysql_host'], $GLOBALS['mysql_username'], $GLOBALS['mysql_password']) or die(mysql_error());
    $db = mysql_select_db($GLOBALS['mysql_database']) or die(mysql_error($con));


    $query = "SELECT * FROM ".$table." WHERE ".$specifier." = '".$value."'";
    $erg = mysql_query($query) or die(mysql_error());

    while ($row = mysql_fetch_array($erg)) {
        mysql_close($con);
        return TRUE;
    }
    mysql_close($con);
    return FALSE;
}
4

1 回答 1

4

看起来$conincheck_exists()与您的范围相同$con,因此,check_exists()首先覆盖(并丢失)您的原始连接,然后在调用mysql_close($con).

您最好保持一个单独的连接,以便使用所有此类功能。

于 2012-05-09T09:35:12.420 回答