2017-07-04 83 views
-2

我一直在爲此奮鬥一段時間,現在任何人都可以爲此提供解決方案。 我想只顯示firstname的第一個字母是「blah」的結果。請選擇名字中的第一個字母

$n=$_GET['n']; 

("SELECT * FROM my_list 
        WHERE setid = '16-17' 
        and firstname like '$n%' 
        order by studentid asc") 

以上是迄今爲止的內容,但根本沒有顯示任何結果。

感謝所有

+0

沒有字面意思......你想告訴我們行結果是什麼以及它的期望是什麼? –

+3

http://bobby-tables.com – Twinfriends

+2

想到/index.php?n='OR 1 = 1 OR'。它被稱爲sql注入。逃避您的輸入或使用準備好的語句 –

回答

0
$n = $_GET['n']; 

    $value = $n[0]; // will give first letter 

    ("SELECT * FROM my_list WHERE setid = '16-17'and 
firstname like '". $value ."%' order by studentid asc") 
+0

大家好,上述所有的例子似乎工作,但我仍然沒有得到任何結果。我把你的例子直接到phpmyadmin的SQL和直接運行它,並沒有返回結果。我的MySQL可能會出錯嗎? –

0

也許使用MySQL的LEFT拿到的第一個字符。

SELECT 
    * 
FROM my_list 
WHERE 
    setid = '16-17' 
    AND LEFT(firstname, 1) = 'x' 
ORDER BY 
    studentid ASC 

將返回所有以x開頭的名字。

相關問題