phpmysql单引号
Ⅰ php操作mysql数据库时,双引号单引号,花括号如何运用感觉有些混乱
单引号,单引号中的内容会被直接当成一个字符串,单引号中无法输出
变量值
;
$a = 'abcd';
echo '$a'; // 输出结果就是 $a,而不是 abcd
双引号
,双引号中可以输出简单变量,不能输出复杂变量,否则会报错;
$a = 'abcd';
$b = array('aaa' => 'abcd');
echo "$a"; // 输出 abcd,因为双引号中可以解析简单变量
echo "$b['aaa']"; // 直接报错,因为双引号中不能解析复杂变量
花括号,花括号中既可以输出简单变量,也可以输出复杂变量,如数组、对象等;
$a = 'abcd';
$b = array('aaa' => 'abcd', 'bbb' => array(12,34));
echo "{$a}"; // 输出 abcd
echo "{$b['aaa']}"; // 输出 abcd
echo "{$b['bbb'][1]}"; // 输出 34
所以写的时候想偷懒就用花括号,不会出错;
但是在性能上,单引号的性能最好,因为单引号中的内容会直接被当成字符串,没其他的解析;而解析双引号的时候,会先判断双引号内有没有变量,有变量就把变量用变量值代替,最后再输出双引号内整个的内容;花括号就更不用说了,可以输出复杂的变量内容。
所以一般如果项目没有性能要求的话或者
小项
目的话,随便怎么用没关系;但是大网站或者要求性能的网站就得视情况挑着用了
Ⅱ php和mysql有关引号的问题
insert语句是数据库的语法,mysql_query是php的语法,两者是不能混为一谈的。而且mysql_query是php的函数,$d是变量。把变量丢给mysql_query函数去执行,是不需要加什么引号的。这是各自的编程语法所决定的。
Ⅲ php mysql中创建表错误,单引号'要改成`
那个是数据库特别用来标识表名字段的符号.有什么区别?请问有什么相同呢?本来就是不一样的东西.你问我汽车和笔记本有什么区别.我真答不上来
Ⅳ 怎么向MySQL数据库插入单引号或双引号
--mysql值中需要单引号使用“'”
insert into mytable(text) values('I'm Sail!');
Ⅳ php 加单引号后 就报MYSQL错误! 求解!
SELECT G.groupname,G.groupid,G.des,G.groupimg FROM dede_group_user AS U LEFT JOIN dede_groups AS G ON U.gid=G.groupid WHERE U.uid IN(2) AND U.isjoin=1 AND U.gid<>1\' LIMIT 0,6
/group/bbs.php?id=1' 这里多了一单引号,因为这里多了这个单引号,你的程序获取参数id时会将这个单引号一同获取到,所以,在放入你的sql语句中式,多了一个单引号,所以执行sql语句时会发生语法错误。
所以,在将获取到得变量放入sql语句中式,最好做一下处理,即:如果id是整形的话,最好转为整形在放入,同时也可以防止sql注入的发生。
Ⅵ mysql+php程序中sql语句中的引号使用方法,什么时候用双引号什么时候用单引号
这就要从双引号和单引号的作用讲起:
双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:
$abc='I love u';
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
所以在对数据库里面的SQL语句赋值的时候也要用在双引号里面SQL="select a,b,c from ..."
但是SQL语句中会有单引号把字段名引出来
例如:select * from table where user='abc';
这里的SQL语句可以直接写成SQL="select * from table where user='abc'"
但是如果象下面:
$user='abc';
SQL1="select * from table where user=' ".$user." ' ";对比一下
SQL2="select * from table where user=' abc ' "
我把单引号和双引号之间多加了点空格,希望你能看的清楚一点。
也就是把'abc' 替换为 '".$user."'都是在一个单引号里面的。只是把整个SQL字符串分割了。
SQL1可以分解为以下3个部分
1:"select * from table where user=' "
2:$user
3:" ' "
字符串之间用 . 来连接,这样能明白了吧。
Ⅶ php+mysql中引号的用法
{$var}
sql语句里没有这样的用法
'$var'
使用单引号,一般是在这样的情况下"select * from user where user_name like '%$name%'"
使用双引号
"$id"会被理解为变量但是双引号之间要用.这个符号连接
一般说来在sql语句中变量不需要用任何符号
$sql="select * from biaoming where id=$id and name=$name";
就可以了
但是注意 如果变量是一个数组的值 那么应该这样
$sql="select * from biaoming where id=$id and name=$name[myname]";
$name[myname] 这里的myname不应该使用任何引号包围
Ⅷ php正则表达式 向mysql 插入单引号问题
不用正则过滤,入库前用addslashes -- 添加反斜线引用字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。如:单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
代码:
if (!get_magic_quotes_gpc()){
$str=addslashes($str);
}
处理过的$str就可以安全入库了。再不会出现插入时导致sql语句错误。
Ⅸ php的mysql语句里变量加不加单引号问题
确切的说,那是sql语句,与是不是php没有直接绝对关系(sql语句的一门单独的语言,用于对数据库的一些操作,Acc、sql server、mysql等数据库的sql语句基本都一样,只是每种数据库的sql语句,有少许差别)
也就是sql语句的语法
sql语句中,字段的值和字段类型要相互对应
比如:数据表中有一个字段A,他的类型是(int、bigint等)数字类型
那么: A = '12'这样写是错误的,因为数字类型字段,不能插入或者赋值字符串类型的值
而如果A字段是文本类型等字段,则文本数字都可以插入
语法中,加引号,就表示所提供的值就字符串文本类型,不加则表示是数字类型
Ⅹ php操作MySQL中单引号与怎么处理
花括号,花括号中既可以输出简单变量,也可以输出复杂变量,如数组、对象等;
1.$a = 'abcd';2.$b = array('aaa' => 'abcd', 'bbb' => array(12,34));3.echo "{$a}"; // 输出 abcd4.echo "{$b['aaa']}"; // 输出 abcd5.echo "{$b['bbb'][1]}"; // 输出 34
所以写的时候想偷懒就用花括号,不会出错;
但是在性能上,单引号的性能最好,因为单引号中的内容会直接被当成字符串,没其他的解析;而解析双引号的时候,会先判断双引号内有没有变量,有变量就把变量用变量值代替,最后再输出双引号内整个的内容;花括号就更不用说了,可以输出复杂的变量内容。