簡體   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