繁体   English   中英

phpmyadmin存储过程错误

[英]phpmyadmin stored procedure error

我试图在phpmyadmin网站托管服务器中运行SP,但始终出现以下错误

1064-您的SQL语法有误; 检查与您的MySQL服务器版本相对应的手册以获取在第4行的''附近使用的正确语法

我要运行的SP是:

CREATE PROCEDURE Authenticate_UserByEmailID(strUsername VARCHAR(45), strPassword VARCHAR(45))
BEGIN
    SELECT * FROM users 
    WHERE users.Username = strUsername AND users.Password = strPassword;
END $$

我尝试在SP名称,表名称列名称和其他带有引号的其他组合中加上单引号,但没有结果,然后我遇到了此链接,并尝试更改定界符但没有结果。 你能帮忙吗?

解:

抱歉,我不好。 我添加了定界符,它为我解决了这个问题。

DELIMITER ;;

CREATE PROCEDURE `Authenticate_UserByEmailID`(strUsername VARCHAR(45), strPassword VARCHAR(45))
BEGIN
    SELECT * FROM DBCompany_samsonusac517644.users 
    WHERE Username = strUsername AND Password = strPassword;
END ;;

您错过了DELIMITER

mysql> delimiter $$
mysql> CREATE PROCEDURE Authenticate_UserByEmailID(strUsername VARCHAR(45), strPassword VARCHAR(45))
    -> BEGIN
    ->     SELECT * FROM users 
    ->     WHERE users.Username = strUsername AND users.Password = strPassword;
    -> END $$
Query OK, 0 rows affected (0.01 sec)

以上所有答案均做出某些假设。 1and1中存在一些基本问题,某些其他托管服务提供商正在使用phpMyAdmin版本,这些版本非常旧,并且存在定义的定界符为的问题; 并且没有办法从phpMyAdmin进行更改。 一些提供程序已经继续前进,因此他们将不会遇到此问题。 但如果您这样做,则可以按照以下方式进行操作-

  1. 在托管提供程序上创建一个新的PHPMyAdmin。 附件链接为您提供了想法http://internetbandaid.com/2009/04/05/install-phpmyadmin-on-1and1/
  2. 通过复杂的途径,可以从您的dekstop访问托管服务提供商mySQL。 如果您是一个认真的开发人员,这很复杂,但是最好。 这是执行此操作的链接http://franklinstrube.com/blog/remote-mysql-administration-for-1and1/

希望这可以帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM