首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重写此查询

如何重写此查询
EN

Stack Overflow用户
提问于 2015-09-26 17:52:36
回答 2查看 40关注 0票数 0

我不明白这个查询有什么问题。

例如:从表names中,我希望获得与字符串Hound匹配的所有记录,如houndHound 1.2.3HoundChathound version 5.0.2.6HOUND ver.7.4.4(1536)

另外,我将从$nameid获得与表names中的列name相关联的字符串。

代码语言:javascript
复制
$files = mysql_query("SELECT * FROM names WHERE name LIKE '$nameid%'") or die(mysql_error());
$i=1;  while($row=mysql_fetch_array($files)) {
echo "<a href=\"/files/$row[1]\>";
$i++;

更新:我已经成功地使用了$nameid= substr($_ get‘’name‘,0,5);它只从变量中获得5个字符,并且适合我。

EN

回答 2

Stack Overflow用户

发布于 2015-09-26 18:02:40

尝试如下:

代码语言:javascript
复制
$files = mysql_query("SELECT * FROM names WHERE name LIKE '".$nameid."%'") or die(mysql_error());
票数 0
EN

Stack Overflow用户

发布于 2015-09-26 18:03:34

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

另外,您应该使用准备好的语句来防止sql注入,例如使用PDO

代码语言:javascript
复制
$st = $db->prepare("SELECT * FROM names WHERE name COLLATE UTF8_GENERAL_CI LIKE ?");
$st->execute(array($nameid.'%'));

请参见对语句COLLATE部分here的解释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32800178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档