简体   繁体   English

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

[英]Retrieving rows based on a substring on PHP-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();
?>

My user would have to key in a certain string into a textbox from Android and POST to my PHP. 我的用户必须在Android和POST到我的PHP的文本框中键入特定的字符串。 On the PHP side, how do I retrieve the rows according to the POST-ed string, let say the string 'TI' ? 在PHP方面,如何根据POST版本的字符串(假设字符串'TI')检索行? I tried this, but it returns null. 我试过了,但是它返回null。

Use LIKE: 使用喜欢:


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

尝试使用这个

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

for wildcards you have to use the like key word, something like: 对于通配符,您必须使用like关键字,例如:

<?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();
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM