0

約 2 日間オンラインで調べましたが、Google にこのシナリオを尋ねる方法がわかりません。「Helmet」という単語を含む単一の列からすべての行を取得しようとしています。私が得ているのは2行だけです。実際には約 10 行ありますが、「脚、ヘルメット」などの単語が含まれています。「ヘルメット」という単語のみが含まれる行は正しく入力されています。私が使用しているコード。

  id | rune_slot
  ---------------------------------
  0  | Shoulders
  ---------------------------------
  1  | Chest
  ---------------------------------
  2  | Main Hand, Off Hand, Ranged
  ---------------------------------
  3  | Helmet
  ---------------------------------
  4  | Legs, Helmet
  ---------------------------------
  5  | Helmet
  ---------------------------------
  6  | Legs, Helmet
  ---------------------------------

ご覧のとおり、これが私のテーブルです。私が言ったように、行 3 と 4 を取得していますが、行 4 と 6 も取得できないようです。

$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
      die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT * FROM runes WHERE rune_slot LIKE "Helmet"' ;

mysql_select_db('runelist');
$retval = mysql_query( $sql, $conn );
if(!$retval )
{
      die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
      echo "Rune Name : {$row['rune_name']} "." Craft Level :  {$row['craft_level']} "."   Rune Slot : {$row['rune_slot']} ".
      "<br />";
} 
echo "Fetched data successfully\n";
mysql_close($conn);

これはhttp://www.tutorialspoint.com/php/mysql_select_php.htmから取得したコードです。

私が知っている限り多くの異なる選択ステートメントを試しました。mysql_fetch_array を _assoc に変更してみました。 http://www.php.net/manual/en/function.mysql-fetch-assoc.phpを閲覧しました。複数のデータを単一の列に入れるのは悪い習慣だと思いますか? PHP と MYSQL について学ぶためによくここに来ますが、今は立ち往生しています。ありがとう!!

4

2 に答える 2

0

クエリで使用する必要があり%ます:

  $sql = 'SELECT * FROM runes WHERE rune_slot LIKE "%Helmet%"' ;

これは、Helmet

于 2013-02-25T20:41:19.270 に答える
0

like クエリに % がありません。クエリを「%helmet%」のように変更します

于 2013-02-25T20:44:52.630 に答える