php操作MySQL中单引号与怎么处理?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
所以写的时候想偷懒就用花括号,不会出错;
但是在性能上,单引号的性能最好,因为单引号中的内容会直接被当成字符串,没其他的解析;而解析双引号的时候,会先判断双引号内有没有变量,有变量就把变量用变量值代替,最后再输出双引号内整个的内容;花括号就更不用说了,可以输出复杂的变量内容。 参考技术A 我平时写SQL语句都是用?占位符,然后在执行过程中匹配变量来传递数据,不容易出错。比如下面的代码:
$conn=new PDO("sqlite:webdata.db");
$a=$conn->prepare("select * from webusers where uname=? and npwd=?");
$a->execute(array('lxz2005','123456'));
$res=$a->fetchAll();
print_r($res);追问
出来了
追答我平时写SQL语句都是用?占位符,然后在执行过程中匹配变量来传递数据,不容易出错
参考技术B 转义啊,加反斜杠就行了。或者你可以外面用双引号
里面就不用管了 参考技术C 3个回答都搞得那么复杂干什么,最简单的方法就是把$sql='内容'的外面的单引号改成双引号"",然后你里面的sql语句就用单引号',这样就不会冲突,$sql="select * from test where name ='test' ";
PHP和sql语句中单引号和双引号的区别
php中 双引号“”会经过解释,再当做html代码输出
而单引号‘’不进行解释,直接输出。
举个栗子:
$abc=‘my name is tome‘;
echo $abc
输出结果是:
my name is tom
而
echo ‘$abc’
输出结果是:
$abc
echo “$abc”
输出结果是:
my name is tom
在MYSQL中,双引号和单引号的用法让新手不知所措,在这里举个例子,来进行说明。
假设查询条件中使用的是常量,例如:
select * from abc_table where user_name=‘abc‘;
SQL语句可以写成:
SQLstr = “select * from abc_table where user _name= ‘abc’” ;
应用在程序中就是:
SQLstr="select * from abc_table where user_name =‘" . $user["name"]."‘";
所以如果内部只有纯字符串的时候,用单引号(速度快),内部有别的东西(如变量)的时候,用双号引更好点.
以上是关于php操作MySQL中单引号与怎么处理?的主要内容,如果未能解决你的问题,请参考以下文章