多次调用PHP函数会产生MySQL错误

前端之家收集整理的这篇文章主要介绍了多次调用PHP函数会产生MySQL错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用PHP函数数据库中检索多个数据,但不知何故,当我多次这样做时,它会产生MysqL连接错误.

$heat=getStat("heat",$userid);
$cash=getStat("cash",$userid);
echo MysqL_error();

我使用上面的代码通过调用数据库中检索统计信息的函数来分配变量.

当我单独使用上述代码时,它们可以工作.但是当我把它们放在一起时它们会失败.

这是一个简单的你是一个初学者 – 菜鸟编程错误吗?

我忘了发布这个功能,所以这里是:

function getStat($statName,$userID) {
    require_once 'config.PHP';
    $conn = MysqL_connect($dbhost,$dbuser,$dbpass)
       or die('Error connecting to MysqL' . MysqL_error());
    MysqL_select_db($dbname);
    $query = sprintf("SELECT value FROM user_stats WHERE stat_id = (SELECT id FROM stats WHERE display_name = '%s' OR short_name = '%s') AND user_id = '%s'",MysqL_real_escape_string($statName),MysqL_real_escape_string($userID));
    $result = MysqL_query($query);
    list($value) = MysqL_fetch_row($result);
    return $value;        
}
最佳答案
问题很可能是由require_once引起的.因为这是您为数据库连接提供配置的地方.第二次执行require时,它不会引入定义数据库连接变量所需的代码.

正如@MichaelBerkowski所说,在脚本加载时有一个全局连接会好得多,并且对每个数据库请求都使用这个连接.但是,如果您希望坚持当前的方式,这应该可以解决问题:

function getStat($statName,$userID) {
    require 'config.PHP'; /// <-- note this has changed to just require
    $conn = MysqL_connect($dbhost,$dbpass)
        or die ('Error connecting to MysqL');
    MysqL_select_db($dbname);
    $query = sprintf("SELECT value FROM user_stats WHERE stat_id = (SELECT id FROM stats WHERE     display_name = '%s' OR short_name = '%s') AND user_id = '%s'",MysqL_real_escape_string($userID));
    $result = MysqL_query($query);
    list($value) = MysqL_fetch_row($result);
    return $value;      
}

猜你在找的MySQL相关文章