首 页
·
站长博客
·
用户注册
·
会员登陆
·
会员排行
·
最新主题
·
最近回复
☆
精华区
版权声明
·
论坛管理
当前登录身份:游客,请先登录。 笔名:
口令:
验证码:
楼 主
index
»
PHP+MYSQL编程
»
[原创]我问一个问题
作者:
yuanbo
注册时间:2005-03-14
主题/回复:6/9
积分:
439
等级:★★☆(五级)
称号:略有小成
yuanbo203@163.co..
未提供
www.
发表:2005-03-21 07:05:16 阅读
2015
次 回复
1
次 得分
1
|
字号
10px
12px
14px
16px
18px
20px
24px
字色
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
▅▅▅▅▅
[原创]我问一个问题
http://www.17php.com/bbs/show_title.php?id=63
在这里他有一句 "是不是很简单?但是通常$exec会有问题,因为可能您的SQL语句会很长,您会遗漏.连接符,或者'来包围字符型字段"
我就是不知道为什么要加上.这个连接符啊
我看别人的没有也可以
我想了很久远觉得 逻辑上加这个连接符也没道理啊!加'我认同!!
希望讲解 谢谢!!
1#楼
回复人:
一起PHP
注册时间:2004-02-27
主题/回复:
247/1521
积分:
4649
等级:★★★★★☆(十一级)
称号:论坛圣人
1#楼
发表于
2005-03-21 16:31:18
评分:
1
呵呵,这个地方不加“.”肯定是不对的。
也就是去掉2个点连接符,肯定是要抱错的。
“.”在PHP中表示字符串连接,我想这个就不用再说了。打个比方:
$a="ab";
$b=$a."cd";
上面$b=$a."cd"的结果肯定是$b的值为"abcd",如果不加点,也就是:$b=$a"cd";肯定不对。
我明白你的意思,你的意思是不加点的时候,这么写:
$b="$a cd";
这样也是正确的。
在输出一个中间掺杂着变量的字符串的时候,有两种方法。
<?php
$var1="abcd";
echo $var1." and efgh";
echo "$var1 and efgh";
?>
上面的方法输出都是 abcd efgh
但是,就是因为上面的变量$var1形式很简单,如果换成了另外一种形式的变量,比如:
$_POST["username"] 或者 $_POST['username']
这个变量也是一个变量,但是形式不一样了,这个变量中包含了 ' 或者 "
单引号和双引号在字符串中是有特殊意义的,所以这时候如果不灵活的使用“.”连接符,就很容易出错,比如下面的语句就要出错:
$sql="select * from user where username='$_POST["username"]'";
这个肯定是要抱错的,因为PHP在运行时会认为语句从"开始到第一个"出现为止,也就是说系统理解为你的语句是"select.......$_POST[" 这是一个字符串,后面突然出来一个username"]...,就没有意义了,就好像是$a="abcd"usernam..一样。
这下明白了么?
所以,上面的语句加上“.”连接符,就不会错了。
$sql="select * from user where username='".$_POST["username"]."'";
加上点,就相当于
$sql="dfadsfas".$aa."asdfdasf";也就是相当于一个简单的字符串连接变量。
这下你应该明白了罢。
页数
1/1
:
首页
«
1
»
末页
发表回复:您还没有登陆,无法发表回复。请先
[登陆]
一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565
站长博客
E-mail:
nqp@nqp.me
执行时间:0.004sec
SimsmaBBS 2008 (v6.0)
Developed by
17php.com
,Copyright(C)2003-2010 All rights reserved. 副本授权:
一起PHP官方专用版