1

phpmyadmin WebホスティングサーバーでSPを実行しようとしていますが、常に次のエラーが発生します

1064 - SQL 構文にエラーがあります。4行目のnear ''を使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください

実行しようとしている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 ;;
4

2 に答える 2

5

あなたが恋しい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)
于 2012-11-08T14:17:34.407 に答える
0

上記のすべての回答は、特定の仮定を行っています。1and1 には基本的な問題があり、他の特定のホスティング プロバイダーは非常に古い phpMyAdmin バージョンを使用しており、定義された区切り文字が ; であるという問題があります。phpMyAdmin から変更する方法はありません。一部のプロバイダーは移行したため、この問題に直面することはありません。しかし、そうする場合、次の方法があります-

  1. ホスティング プロバイダーで新しい PHPMyAdmin を作成します。添付のリンクからアイデアが得られますhttp://internetbandaid.com/2009/04/05/install-phpmyadmin-on-1and1/
  2. デスクトップからホスティング プロバイダーの mySQL にアクセスできるようにするための複雑なルートをたどります。複雑ですが、本格的な開発者であれば最適です。ここにそれを行うためのリンクがありますhttp://franklinstrube.com/blog/remote-mysql-administration-for-1and1/

お役に立てれば

于 2013-11-28T16:37:24.897 に答える