Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 返回布尔值的存储过程?_Mysql_Sql_Stored Procedures - Fatal编程技术网

Mysql 返回布尔值的存储过程?

Mysql 返回布尔值的存储过程?,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我是SQL新手,但我正在努力减少代码重复。我正在玩一个游戏,服务器将使用MySQL C++连接。我还将主持一个网站,将访问相同的数据库。它们都需要对用户进行身份验证。理想情况下,我希望编写一个存储过程,该过程接收用户名和散列,如果名称/密码匹配,则返回布尔值 我不太擅长编写查询,但存储过程是一个新领域 有人能给我一个简单的MySQL存储过程示例,它使用一个如下的虚拟表: Table Player Column PlayerID (int, primary key, not null, auto

我是SQL新手,但我正在努力减少代码重复。我正在玩一个游戏,服务器将使用MySQL C++连接。我还将主持一个网站,将访问相同的数据库。它们都需要对用户进行身份验证。理想情况下,我希望编写一个存储过程,该过程接收用户名和散列,如果名称/密码匹配,则返回布尔值

我不太擅长编写查询,但存储过程是一个新领域

有人能给我一个简单的MySQL存储过程示例,它使用一个如下的虚拟表:

Table Player
Column PlayerID (int, primary key, not null, auto increment)
Column PlayerUsername (varchar 25, not null)
Column PlayerPassword (varchar 25, not null)
如何创建一个接收名称和密码的存储过程,如果至少有一条记录的用户名和密码与参数匹配,则返回true

一旦我看到了存储过程的语法,我应该能够创建自己的存储过程。我的需求很基本。

类似这样的东西

DELIMITER //

DROP FUNCTION IF EXISTS MY_FUNCTION//

create function MY_FUNCTION(name varchar(255) CHARACTER SET utf8, 
                            pwd varchar(255) CHARACTER SET utf8, )
RETURNS tinyint(1)
READS SQL DATA SQL SECURITY INVOKER
BEGIN
    declare result tinyint(1);

    SELECT if(count(*)>0,1,0) INTO result 
    FROM users
    WHERE users.name=name and users.pwd=pwd;

    RETURN result;
END//

DELIMITER ;