我在网上看了大约两天,我不确定如何向Google询问这种情况。我试图从包含“Helmet”一词的单个列中提取所有行。我得到的只有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,现在我只是卡住了。谢谢!
答案 0 :(得分:0)
您需要在查询中使用%
:
$sql = 'SELECT * FROM runes WHERE rune_slot LIKE "%Helmet%"' ;
表示Helmet
答案 1 :(得分:0)
您在同类查询中缺少%。 将查询更改为“%helmet%”