在PHP-MySQL中基于子字符串检索行

时间:2012-03-05 10:20:01

标签: php android mysql

<?php
//$query = $_POST['query'];
$query = 'TI';

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_database, $conn);

$q=mysql_query("SELECT * FROM productTbl WHERE productName = '$query%'");
while($e=mysql_fetch_assoc($q))
    $output[]=$e;

print(json_encode($output));
mysql_close();
?>

我的用户必须将某个字符串键入Android的文本框,然后将POST键入我的PHP。在PHP方面,如何根据POST-ed字符串检索行,比如字符串'TI'?我试过这个,但它返回null。

3 个答案:

答案 0 :(得分:2)

使用LIKE:


$query = mysql_real_escape_string($query); //better to be safer
SELECT * FROM productTbl WHERE productName LIKE '$query%'

答案 1 :(得分:1)

尝试使用此

$q=mysql_query("SELECT * FROM productTbl WHERE productName LIKE '" . $query . "%'");

答案 2 :(得分:0)

对于通配符,您必须使用类似关键字,例如:

<?php
//$query = $_POST['query'];
$query = 'TI';

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_password);
mysql_select_db($mysql_database, $conn);

$q=mysql_query("SELECT * FROM productTbl WHERE productName like '$query%'");
while($e=mysql_fetch_assoc($q))
    $output[]=$e;

print(json_encode($output));
mysql_close();
?>