mysql:2146
From: "Ningfeng Yang" <"Ningfeng Yang" <yang@xxxxxxxxxx>>
Date: Thu, 1 Jun 2000 21:32:21 +0900
Subject: [mysql 02146] Re: フィールドに入っているデータに後方一致した場合エラーを返す方法
イコール符号の変わりに、LIKEを使ったほうが言いと思います。
$result = mysql_query("somedatabase","SELECT maillist FROM kickemail WHERE
maillist LIKE '%".$mail[1]."'");
あるいは、文字列maillistは文字列$mail[1]に含まれるかどうかを判断します:
$result = mysql_query("somedatabase","SELECT maillist FROM kickemail WHERE
INSTR('$mail[1]',maillist)>0");
ここでINSTR関数を使いましたが、LOCATE関数も同等な機能を持っています。
楊
> $separate = '@';
> $mail = explode($separate, $email);
> $result = mysql_query ("SELECT maillist FROM kickemail WHERE maillist =
'$mail[1]'");
> $num = mysql_num_rows($result);
> if ($num > 0){
> echo "このメールアドレスは使えません <BR>";
>
> exit;
> }
>
> これは、maillistに$mail[1]のドメインがある場合エラーを返しますが
> $mail[1]に、subdomain.abc.comが入ったとして
> フィールド"maillist"に入ってるドメイン名がabc.comで
> subdomain.abc.comが"maillist"に無い場合エラーを返しません。
2145 2000-06-01 20:51 [<moeru@xxxxxxxxxx> ] フィールドに入っているデータに後方一致した場合エラーを返す方法 -> 2146 2000-06-01 21:32 ┗["Ningfeng Yang" <yan] 2147 2000-06-01 22:07 ┗[<moeru@xxxxxxxxxx> ] 2148 2000-06-01 22:40 ┗["Ningfeng Yang" <yan] 2149 2000-06-01 23:36 ┣[<moeru@xxxxxxxxxx> ] 2152 2000-06-02 00:04 ┃┗["Ningfeng Yang" <yan] 2155 2000-06-02 18:55 ┃ ┗[<moeru@xxxxxxxxxx> ] 2157 2000-06-02 22:08 ┃ ┣["Ningfeng Yang" <yan] 2159 2000-06-02 23:41 ┃ ┗[とみたまさひろ <tomm] 2160 2000-06-03 00:47 ┃ ┣["Ningfeng Yang" <yan] 2161 2000-06-03 00:51 ┃ ┃┗["Ningfeng Yang" <yan] 2162 2000-06-03 00:54 ┃ ┗[<moeru@xxxxxxxxxx> ] 2150 2000-06-01 23:48 ┗[とみたまさひろ <tomm] 2151 2000-06-02 00:02 ┗["Ningfeng Yang" <yan]