if语句里不能用变量吗?
不浪费大家时间,我简写了,$sql是在一个if语句里的。其他都正确,就$qiche这个变量不对,我换成汉字汽车就能成功,$qiche就不对($qiche有值)。如果把if...
不浪费大家时间,我简写了,$sql是在一个if语句里的。其他都正确, 就$qiche这个变量不对,我换成汉字汽车就能成功,$qiche就不对($qiche有值)。 如果把if语句给拆掉只留$sql 那也正确。
if (a=1){
$sql="select * from {$dbtbpre}ecms_news where city='$qiche'";
}
感谢大家热心回复,现在我可能找到问题的所在了。 我给大家造成假象了(水平低不好意思)。
$qiche 这个变量是从前一个页面传过来的,我以为传过来了,实际上没过来。
我是这么写的
<?php
$qiche=$abc;
include('sql.php');
?>
这个sql.php就是这个。
<?php
if ($a){
$sql="select * from {$dbtbpre}ecms_news where city='$qiche'";
while{ 循环上面的sql
}
}
?>
现在的问题是如何让$qiche 传到sql.php里面去。 展开
if (a=1){
$sql="select * from {$dbtbpre}ecms_news where city='$qiche'";
}
感谢大家热心回复,现在我可能找到问题的所在了。 我给大家造成假象了(水平低不好意思)。
$qiche 这个变量是从前一个页面传过来的,我以为传过来了,实际上没过来。
我是这么写的
<?php
$qiche=$abc;
include('sql.php');
?>
这个sql.php就是这个。
<?php
if ($a){
$sql="select * from {$dbtbpre}ecms_news where city='$qiche'";
while{ 循环上面的sql
}
}
?>
现在的问题是如何让$qiche 传到sql.php里面去。 展开
4个回答
展开全部
if 里面要用 == 进行判断,=是赋值符号
另外在sql语句中
{$dbtbpre} 这样的值放到""号中,就是一个字符串
不是变量的值
city='$qiche' 用单引号括起来之后
那么只就是$qiche字符串的值,也不是变量的值
所以,这个sql语句要拼装,不知道你这是什么语言的
调试的时候观察$sql变量的值也能看出来语句的问题。
另外在sql语句中
{$dbtbpre} 这样的值放到""号中,就是一个字符串
不是变量的值
city='$qiche' 用单引号括起来之后
那么只就是$qiche字符串的值,也不是变量的值
所以,这个sql语句要拼装,不知道你这是什么语言的
调试的时候观察$sql变量的值也能看出来语句的问题。
更多追问追答
追问
问题已经补充,if语句没有问题的,用的是php, {$dbtbpre} 只是一个数据库的名称。
$qiche的值在之前页面已经赋好了,是一个固定的值(比如汽车),现在拿到php里直接用,如果把if拆掉,那$qiche就会显示出汽车来。 不拆if $qiche就没有值了。
追答
PHP不是很懂了
但是sql = "select * from {$dbtbpre}ecms_news where city='$qiche'";
这种在java中,最后到数据库中执行的就是
select * from {$dbtbpre}ecms_news where city='$qiche',因为有引号的关系,
变量本身就变成了字符串,值就不是汽车了
我的意思是吧sql语句用字符串重新拼装
java中都是用+处理,不知道PHP是什么样的了
$sql = "select * from "+{$dbtbpre} + "ecms_news where city='"+$qiche+"'";
这样处理的。
展开全部
if(a=1)改为 if(a==1)
如果你的 $qiche 是变量,那么你写成 city='$qiche' 后,它就是个 $qiche 字符串了。
要是想把这个变量写到city=' '这,就应该写成 " select ... city='"+ $qiche +"' " ;
如果你的 $qiche 是变量,那么你写成 city='$qiche' 后,它就是个 $qiche 字符串了。
要是想把这个变量写到city=' '这,就应该写成 " select ... city='"+ $qiche +"' " ;
追问
我描述错误了,现已更正。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=1是赋值语句
永远返回true
永远返回true
更多追问追答
追问
抱歉我写错了,代码太长,只把有问题的写出来了 原句是if($a)
追答
$sql="select * from {$dbtbpre}ecms_news where city='$qiche'";
改为
$sql="select * from {$dbtbpre}ecms_news where city='".$qiche."'";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if (a==1)
追问
我描述错误了,现已更正。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询