0

我在网上看了大约两天,不知道如何向谷歌询问这种情况。我正在尝试从包含“头盔”一词的单个列中提取所有行。我得到的只有 2 行。实际上大约有 10 行,但它包含像“Legs, Helmet”这样的词。只有“Helmet”这个词的行被正确填充。我正在使用的代码。

  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 回答