Php 函数返回1而不是实际值

Php 函数返回1而不是实际值,php,mysql,Php,Mysql,/*我第一次调用这个函数,它工作得很好*/ $userfetch = "select usr_cns_id from user_canvas where email_id='".$dat['loginID']."' "; function cnct($sname,$dbusername,$dbpassword,$databasename) { mysql_connect($sname,$dbusername,$dbpassword,$databasename) or die("COUL

/*我第一次调用这个函数,它工作得很好*/

$userfetch = "select usr_cns_id from user_canvas where email_id='".$dat['loginID']."' "; 
function cnct($sname,$dbusername,$dbpassword,$databasename)
{
    mysql_connect($sname,$dbusername,$dbpassword,$databasename) or die("COULD NOT CONNECT");
    mysql_select_db($databasename) or die("COULD NOT SELECT DB");
    global $userfetch;
    //echo $sname."".$dbusername."".$dbusername."".$databasename;
    $userfetch_exec = mysql_query($userfetch);

    //$userdetails = array();
    while($udata = mysql_fetch_assoc($userfetch_exec))
    {
        $userdetails = $udata ;
    }

    foreach($userdetails as $ude)
    {
        $udetail = $ude['usr_cns_id'];  
    }

    return $udetail;
}
/*第二次我用不同的参数值调用这个函数,它返回1而不是实际值*/

  $uscanid = cnct($server_name,$Db_user,$Db_pass,$Db_name_ac);

/*我无法理解哪里出了问题,非常感谢您的帮助*/

您需要将$userfetch传递给函数

 $uscanid = cnct($server_name,$Db_user,$Db_pass,$Db_name_comp);

如果使用相同的参数对mysql_connect()进行第二次调用, 不会建立新的链接,而是 将返回已打开的链接

因此,您需要在
mysql\u connect()

像这样。。(将现有代码更改为此)



警告:此(
mysql.*
)扩展从
PHP5.5.0
开始就被弃用,将来将被删除。相反,应使用或扩展的准备语句来抵御SQL注入攻击

我将新链接设置为true,但仍然只返回1,而不是实际值。
function cnct($sname,$dbusername,$dbpassword,$databasename, $userfetch)
mysql_connect($sname,$dbusername,$dbpassword,TRUE);