存储过程:DELIMITER $$
CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_uinfo VARCHAR(50))
BEGIN
SELECT @re_uinfo:=concat(user_id,'|',user_name) as uinfo FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1;
END;
$$PHP调用:
#$ok_cg= $DB->hxGetOne("call login('admin','123456',@ok_cg)");
MYSQL数据库:
function hxGetOne($sql = "")
{
if($sql)
{
$this->hxQuery($sql);
}
$rows = mysql_fetch_array($this->result,$this->rsType);
return $rows;
}说明:
如果
$ok_cg= $DB->hxGetOne("SELECT * FROM glcity_user WHERE user_name='admin' AND user_pwd='123456' AND user_state=1 LIMIT 1;这样是有一条记录返回的,输出$ok_cg["user_name"]为"admin",
通过存储过程来调用就没有值输出了,我是PHP的初学者,请各位朋友帮帮忙了,很急.
我的功能是用户登录时,通过存储过程返回登录的用户的ID号及用户的昵称.
CREATE PROCEDURE login (IN uname VARCHAR(30),IN upwd VARCHAR(32), OUT re_uinfo VARCHAR(50))
BEGIN
SELECT @re_uinfo:=concat(user_id,'|',user_name) as uinfo FROM glcity_user WHERE user_name=uname AND user_pwd=upwd AND user_state=1 LIMIT 1;
END;
$$PHP调用:
#$ok_cg= $DB->hxGetOne("call login('admin','123456',@ok_cg)");
MYSQL数据库:
function hxGetOne($sql = "")
{
if($sql)
{
$this->hxQuery($sql);
}
$rows = mysql_fetch_array($this->result,$this->rsType);
return $rows;
}说明:
如果
$ok_cg= $DB->hxGetOne("SELECT * FROM glcity_user WHERE user_name='admin' AND user_pwd='123456' AND user_state=1 LIMIT 1;这样是有一条记录返回的,输出$ok_cg["user_name"]为"admin",
通过存储过程来调用就没有值输出了,我是PHP的初学者,请各位朋友帮帮忙了,很急.
我的功能是用户登录时,通过存储过程返回登录的用户的ID号及用户的昵称.
CALL login('admin','123',@aaa);
SELECT @aaa ;可有结果输出:
1|admin
"1"是ID号,"admin"是昵称,所以说这样是对了呀PHP调用:
#$ok_cg= $DB->hxGetOne("call login('admin','123456',@ok_cg)");
echo "aaa" . $ok_cg["@ok_cg"] . "aaa";
这样只有看到"aaaaaa"
是不是我的PHP输出有错误?