mysql数据库
(1)在MySQL数据库中建立存储过程user_ login,语句如下:mysql>delimiter //mysql>CREATE PROCEDURE user_login(inout name varchar(20),inout pwd varchar(20))mysql>Beginmysql>select * from tb_admin username=name and pwd=pwd; ->END(2)建立数据源的连接,使用存储过程时与建立其他的数据源有所区别,需要创建一个MySQL对象,代码如下:
<?php
$link=new mysqli("localhost","root","root","db_admin");
$link->query("set names gb2312",MYSQLI_USE_RESULT);
?>
(3)利用Call语句调用存储过程,对传递的参数进行验证,并对验证结果给出相应的信息提示。关键程序代码如下:
<?php
if($_POST["submit"]<>""){
$result=$link->query("call user_login('".$_POST[username]."','".$_POST[pwd]."')",MYSQLI_USE_RESULT);
$info=mysqli_fetch_array($result);
if($info==true){
echo "<script>alert('恭喜您,登录成功!');</script>";
}
else{
echo "<script>alert('对不起,您输入的用户名或密码错误,请您重新输入!');</script>";
}
}
?>
就是登陆不成功,请各位朋友帮忙看看。感激不尽,QQ397647358
(1)在MySQL数据库中建立存储过程user_ login,语句如下:mysql>delimiter //mysql>CREATE PROCEDURE user_login(inout name varchar(20),inout pwd varchar(20))mysql>Beginmysql>select * from tb_admin username=name and pwd=pwd; ->END(2)建立数据源的连接,使用存储过程时与建立其他的数据源有所区别,需要创建一个MySQL对象,代码如下:
<?php
$link=new mysqli("localhost","root","root","db_admin");
$link->query("set names gb2312",MYSQLI_USE_RESULT);
?>
(3)利用Call语句调用存储过程,对传递的参数进行验证,并对验证结果给出相应的信息提示。关键程序代码如下:
<?php
if($_POST["submit"]<>""){
$result=$link->query("call user_login('".$_POST[username]."','".$_POST[pwd]."')",MYSQLI_USE_RESULT);
$info=mysqli_fetch_array($result);
if($info==true){
echo "<script>alert('恭喜您,登录成功!');</script>";
}
else{
echo "<script>alert('对不起,您输入的用户名或密码错误,请您重新输入!');</script>";
}
}
?>
就是登陆不成功,请各位朋友帮忙看看。感激不尽,QQ397647358
就算成功了你的存储过程也没有返回成功或不成功的标识
if($info==true){ } <--改成if($info){}
delimiter //
CREATE PROCEDURE user_login(in name varchar(20),in password varchar(20),out sign smallint)
Begin
select count(*) into sign from tb_admin where username=name and pwd=password;
END
//
调用:
call user_login('admin','admin',@sign);
select @sign;
0表示密码错误,1表示密码正确
以上是实例地址,其中调用存储过程的为本人正在想的问题。希望能得到大家的帮助。