mysql instr 双引号_php+mysql instr()问题

你的位置:

问答吧

-> PHP基础

-> 问题详情

php+mysql instr()问题

我的SQL语句是这样写的:SQL code

SelectID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrlFromProductsInfowhereIsShow=Trueandinstr(','ParentsID_r',',',".$_REQUEST["list"].",')>0OrderByToSortdesc

整个代码是这样的PHP code

<?php $str="Select ID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrl From ProductsInfo where IsShow=True and instr(','ParentsID_r',',',".$_REQUEST["list"].",')>0 Order By ToSort desc";$result=mysql_query($str,$link);$num=mysql_num_rows($result);for($i=0;$i

{$row=msql_fetch_array($result);echo$row["ProName"];

}?>

可是为什么上面传过来的sql语句却查不到值呢,页面上什么也不显示为空白,调试也不报错。请大家帮我看看是哪里出错了。

作者: ruiandli

发布时间: 2010-09-21

没有人知道吗,自己帮顶下。知道的请回复下。

作者: ruiandli

发布时间: 2010-09-21

IsShow的类型如果是字符串要加引号

作者: kyzy_yy_pm

发布时间: 2010-09-21

IsShow的类型不是字符型的,我现在知道是instr(','ParentsID_r',',',".$_REQUEST["list"].",')>0这里错了,但不知道怎么改。

作者: ruiandli

发布时间: 2010-09-21

$s = "Select ID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrl From ProductsInfo where IsShow='True' and instr(',ParentsID_r,',',".$_REQUEST["list"].",')>0 Order By ToSort desc";

作者: kyzy_yy_pm

发布时间: 2010-09-21

instr(','ParentsID_r',',',".$_REQUEST["list"].",') ???

你这样写对吗?

instr 只有两个参数,返回第一个参数在第二个中第一次出现的位置

作者: xuzuning

发布时间: 2010-09-21

引用 5 楼 xuzuning 的回复:

instr(','ParentsID_r',',',".$_REQUEST["list"].",') ???

你这样写对吗?

instr 只有两个参数,返回第一个参数在第二个中第一次出现的位置

不行。

作者: ruiandli

发布时间: 2010-09-21

引用 4 楼 kyzy_yy_pm 的回复:

$s = "Select ID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrl From ProductsInfo where IsShow='True' and instr(',ParentsID_r,',',".$_REQUEST["list"].",')>0 Order By ToSort desc";

用你我也试过了,我把条件都满足了在mysql数据库里动行时显示都为空

作者: ruiandli

发布时间: 2010-09-21

我的ParentsID_r字段里的值为[2,21],$REQUEST["list"]的值为21,可是为什么查询出来的值为空呢?

作者: ruiandli

发布时间: 2010-09-21

条件是你给的,明显的你给的条件格式不正确,明明是[2,21],楼主却非要给个,***,的格式的,所以查不出来

[2,21],这个就是这样的么?这也没有规律啊

作者: kyzy_yy_pm

发布时间: 2010-09-21

ParentsID_r字段里的值是2,21。我用个[]括起来是为方便大家看。并没有中括号。

作者: ruiandli

发布时间: 2010-09-21

哪位大哥大姐帮忙解决下,小弟不胜感激。

作者: ruiandli

发布时间: 2010-09-21

$s = "Select ID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrl From ProductsInfo where IsShow='True' and instr('ParentsID_r','" . $_REQUEST["list"] . "')>0 Order By ToSort desc";

你这样试试,我没看懂为什么你有那么多逗号和单引

作者: ycscholes

发布时间: 2010-09-21

我的ParentsID_r字段里的值为[2,21],$REQUEST["list"]的值为21

$REQUEST["list"] 在 ParentsID_r 中第一次出现的位置

应写作

instr(ParentsID_r, '$_REQUEST["list"]')

整句应写作

$str = "Select ID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrl From ProductsInfo where IsShow=True and instr(ParentsID_r, '$_REQUEST[list]')>0 Order By ToSort desc";

作者: xuzuning

发布时间: 2010-09-21

$s = "Select ID,ParentsID,ProName,ProSImg,SImgAlt,HtmlUrl From ProductsInfo where IsShow='True' and instr(',ParentsID_r,',',".$_REQUEST["list"].",')>0 Order By ToSort desc";

你的意思是不是后面一个参数是 ,"21",如果是这样的话 是你拼接字符串的问题吧

应该是instr(',ParentsID_r,',',\"'.$_REQUEST["list"].'\",') 而且mysql中的双引号貌似也要转义

你这个东西太麻烦了 我没测试 你多测试测试就好了 关键你这里的符号太多了

作者: sunwenhao0421

发布时间: 2010-09-21

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值