首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用php在mysql中搜索?

问如何使用php在mysql中搜索?
EN

Stack Overflow用户
提问于 2014-07-28 12:01:02
回答 3查看 106关注 0票数 0

我有一个包含两个数据cityname和zipcode .Now的表,我想找到New_york并显示邮政编码。我使用这段代码,但没有显示

代码语言:javascript
复制
 $sql = sprintf("SELECT * FROM myTable WHERE cityname LIKE new_york",
               mysql_real_escape_string($prefix));
$query = mysql_query($sql);

用php在mysql中找到一些东西的最好和快速的方法是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-28 12:06:40

试试这个:

代码语言:javascript
复制
$sql = "SELECT * FROM myTable WHERE cityname LIKE '%New York%'";
$query = mysql_query($sql);

要搜索的单词应该是单引号。只有单词将是表字段/列。

您应该为此使用PDO (有关PDO的更多信息),而不是旧的和废弃的mysql_*函数。见上面Mark Baker和Elias Van Ootegem的评论。

//注释#1:

使用var_dump($query);进行调试。成功地连接到mysql服务器?使用http://de2.php.net/manual/en/function.mysql-errno.php或http://de2.php.net/manual/en/function.mysql-error.php获取错误。

//注释2:

你对echo mysql_errno();和echo mysql_error();有什么看法?

//评论#3:

用户似乎需要密码,或者没有对所选数据库的访问或权限。检查mysql_connect($server, $username, $password)上的连接设置或phpMyAdmin用户的权限。

//注释#4:

​

​

//注释#5:

在phpmyadmin上使用SHOW GRANTS FOR my@localhost获得的输出。

票数 3
EN

Stack Overflow用户

发布于 2014-07-28 12:20:00

尝尝这个

代码语言:javascript
复制
$sql = sprintf("SELECT * FROM myTable WHERE cityname LIKE '%s%%'",
           mysql_real_escape_string($prefix));
$query = mysql_query($sql);

sprintf希望%s知道如何使用$prefix替换,但您也需要向类似的地方添加一个%以生成LIKE 'New York%',因为您使用的是sprintf,如果它在该格式的末尾只看到一个% (因为%是它的控制字符),那么它将失败,所以您必须添加2个%%,所以sprintf将假设这是输出中希望的%,而不是一个不正确的格式请求。它的冲刺逃跑的方式,它的控制性格。

票数 0
EN

Stack Overflow用户

发布于 2014-07-28 12:38:24

您可以尝试这个$sql = "SELECT * FROM *FROM myTable cityname,如'%New York%‘;$query = mysql_query($sql);

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

https://stackoverflow.com/questions/24994799

复制
相关文章

相似问题

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