1つのMySQL手順に問題があります。プロシージャ自体は動作しますが、私がラテン文字を使用するときだけです。キリル文字列を使うとうまくいきません。テーブルは私が "SET NAMES 'utf8'"というページの上部にあるutf8_general_ciにあります。この投稿に関するご意見はありがとうございます。以下は私のコードです。MySQLプロシージャ。 LIKEパターンマッチング - キリル文字列
CREATE PROCEDURE `selUsers`(IN usrNme VARCHAR(25))
BEGIN
SELECT *
FROM users WHERE 1
AND (user_real_name LIKE CONCAT('%', usrNme, '%') OR user_company LIKE CONCAT('%', usrNme, '%') OR user_name LIKE CONCAT('%', usrNme, '%'))
ORDER BY user_real_name ASC LIMIT 0, 15;
END
返信いただきありがとうございます。私はそれを感謝します。私は手順を変更しましたが、キリル文字で検索すると結果はありません。以下は新しいコードです。 DELIMITER // 作成プロシージャselUsers(usrNme VARCHAR(25)) BEGIN SET NAMES 'utf8'; SELECT USER_ID、user_real_name、user_company、1 AND CONCAT( '%'、usrNme LIKE(user_real_name、 '%')OR CONCAT( '%'、usrNme、 '%')OR USER_NAME LIKE user_companyユーザからUSER_NAME \t CONCAT( '%'、usrNme、 '%')) \t ORDER BY user_real_name ASC LIMIT 0、15; END // DELIMITER; –
問題はあなたの手続きにあるとは思えませんが、コードからどのように呼び出すのですか?接続を開いたら、SET NAMES utf8コマンドを実行して、それがどのように動作するかを確認します。 –
事前にプロシージャを呼び出すには、SET NAMES utf8を使用してからmysql_query( "CALL selUsers( '"。$ que。 "')");を使用します。ありがとう。 –