人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

データベースから「GET」で送られたキーワードに適合するアイテムを
検索するシステムを作りたいと思っています。
CH model
1 MT820(半角)
1 MT820Pro(半角)
といったデータが複数あり、$key=MT8 と入れると両方ひっかかるのですが
MT82まで入れると、MT820しか検索されません。
再登録するなど試行錯誤しましたが、両方が引っかかりません。
まるで別のデータベースがを参照しているかのような動作です。
キーワードを空にすると両方引っかかります。日本語ではないのでエンコード
の問題とも思えないのですが、こういった事は起こりうるのでしょうか。
$sql = ”SELECT * FROM report
WHERE model LIKE ’%”.cnv_dispstr($key).”%’
CH =1
ORDER BY id”;
print $sql;
$res2 = mysql_query($sql, $conn) or die(”データ抽出エラー”);
$row2 = mysql_fetch_array($res2, MYSQL_ASSOC);

function cnv_sqlstr($string) {
$string = addslashes($string);
return $string;

●質問者: Marimecco
●カテゴリ:ウェブ制作
✍キーワード:Key Model print SELECT SQL
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● typista
●70ポイント

mysqlのコマンドでも、PHP実装でも問題なく取得できました。

以下の★の2箇所がミソです。

※select * なので、modelは2カラム目になります。

【補足】tableには、idもあるようなので私の環境では、以下のtableを作成してみました。

それと提示いただいたSQLは、CH=1の前にANDが抜けています。

mysql> desc report;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| CH | int(11) | YES | | NULL | |

| model | varchar(16) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

---

$conn = mysql_connect($dbHost, $dbUser, $dbPass) or die (”MySQL接続に失敗”);

mysql_select_db($dbName) or die (”データベースに接続できません。”);

$key = ’MT82’;

$sql = ”SELECT * FROM report WHERE model LIKE ’%” . cnv_sqlstr($key) . ”%’ AND CH=1 ORDER BY id;”;

//$sql = ”SELECT * FROM ch_model WHERE model LIKE ’%” . $key . ”%’ AND CH=1 ORDER BY id;”;

print $sql;

print ”

¥n”;

$res2 = mysql_query($sql, $conn) or die(”データ抽出エラー”);

//$row2 = mysql_fetch_array($res2, MYSQL_ASSOC);

//データベースの中身を表示

★while ($row = mysql_fetch_row($res2))

{

★print ”$row[2]¥n”;

print ”

¥n”;

}

// その他の情報を表示

echo mysql_num_rows($res2) . ” 件のデータを表示しました。¥n”;

mysql_close($conn);

function cnv_sqlstr($string) {

$string = addslashes($string);

return $string;

}

---

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ