這是我之前的一個跟進問題。我想寫呼應所有以字母B開頭的條目mysql的語句選擇全部位置[第一個字母以B開頭]
Function.php
function getCategory() {
$query = mysql_query("SELECT author FROM lyrics WHERE author [starts with letter B]") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) { ?>
<p><a href="##"><?= $row['author']; ?></a></p>
<?php }
Category.php?類別= B
<?php include 'includes/header.php' ?>
<?php getCategory(); ?>
<?php include 'includes/footer.php' ?>
喜歡,我猜。再一個字母表中的每一個字母,和一個與雜項(編號等)
好感謝,那是再容易預期。我遇到一個奇怪的問題:你的版本效果很好。但只要我改變它就像:'$ first = $ _GET ['category']; \t $ first = $ first [0]。 「%」; $(「SELECT author」FROM lyrics WHERE author LIKE「。$ first。」「)或die(mysql_error());'它不再工作。即使我改變'$ first =「b%」;'它不起作用。 – user1333327 2012-04-14 20:33:47
它不是奇怪的問題,它是你對事物的誤解。 %不適用於=。如果你使用相等的話,那麼當你使用=「b%」時你必須提供完全匹配,它發現DB中的值b%不是以b開頭的。要找到起始值,您必須使用like。 – Shehzad 2012-04-14 22:19:30
上面的php容易受到SQL注入的影響。請使用準備好的陳述和佔位符。 – 2012-04-15 12:20:24