这是我之前的一个跟进问题。我想写呼应所有以字母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