像PHP的Mysql运算符

时间:2015-03-27 03:58:32

标签: php mysql

$inputchar = $_GET["inputChar"];
$r = $inputchar;
$result = mysql_query("Select * from foodlist WHERE foodname LIKE '$r'") 
            or die(mysql_error());

在此我从用户收集$ r中的值,并假设用户输入roti然后我想选择所有包含roti单词的foodlist。

3 个答案:

答案 0 :(得分:1)

您需要使用LIKE '%$r%',请记住,因为您接受用户输入,所以您应该使用mysql_real_escape_string来逃避价值,或者更好地使用prepared statements

答案 1 :(得分:1)

如果要在文本字段中搜索包含特定字符串的所有值,则需要添加通配符(%)。

这应该适合你:

$inputchar = mysql_real_escape($_GET["inputChar"]);
$r = $inputchar;
$result = mysql_query("Select * from foodlist WHERE foodname LIKE '%$r%'") 
            or die(mysql_error());

答案 2 :(得分:1)

在PHP中使用简单逻辑,然后有条件地执行查询。

$inputchar = $_GET["inputChar"];
if($inputchar == 'roti') {
    $result = mysql_query("Select * from `foodlist`") 
            or die(mysql_error());
} else{
    $r = $inputchar;
    $result = mysql_query("Select * from `foodlist` WHERE foodname LIKE '%$r%' OR LIKE '%$r' OR LIKE '$r%'") 
            or die(mysql_error());
}