[英]MYSQL: Retrieve all rows from one column containing multiple data
我在網上看了大約兩天,但不確定如何向Google問這種情況。 我正在嘗試從包含單詞“頭盔”的單個列中拉出所有行。 我得到的只有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的知識,但現在我陷入了困境。 謝謝!!
您需要在查詢中使用%
:
$sql = 'SELECT * FROM runes WHERE rune_slot LIKE "%Helmet%"' ;
這意味着Helmet
任何組合
您在類似查詢中缺少%。 將查詢更改為“%helmet%”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.