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);