如何重写此查询

时间:2015-09-26 17:52:37

标签: php mysql

我无法理解这个查询有什么问题。

例如:从表格names我想获取所有与字符串Hound匹配的记录,例如houndHound 1.2.3HoundChat,{{1 },hound version 5.0.2.6

另外,字符串I将来自HOUND ver.7.4.4(1536),与表$nameid中的列name相关联。

names

更新 我获得了成功 $ nameid = substr($ _ GET ['name'],0,5); 从变量中只获得5个字符,对我有用。

2 个答案:

答案 0 :(得分:0)

尝试如下:

$files = mysql_query("SELECT * FROM names WHERE name LIKE '".$nameid."%'") or die(mysql_error());

答案 1 :(得分:0)

我假设您的问题$nameid是一个变量,其值为hound。您只需要处理查询的不区分大小写的方面。

此外,您应该使用预准备语句来阻止sql注入,例如使用PDO

$st = $db->prepare("SELECT * FROM names WHERE name COLLATE UTF8_GENERAL_CI LIKE ?");
$st->execute(array($nameid.'%'));

请参阅声明hereCOLLATE部分的说明。