ホームページ > バックエンド開発 > PHPチュートリアル > mysql - 下列PHP数据库insert语句中变量前后的点和双引号有什么作用?

mysql - 下列PHP数据库insert语句中变量前后的点和双引号有什么作用?

WBOY
リリース: 2016-06-06 20:40:16
オリジナル
1211 人が閲覧しました

<code> $query = "insert into books values
        ('".$isbn."', '".$author."', '".$title."', '".$price."')";
</code>
ログイン後にコピー
ログイン後にコピー

回复内容:

<code> $query = "insert into books values
        ('".$isbn."', '".$author."', '".$title."', '".$price."')";
</code>
ログイン後にコピー
ログイン後にコピー

这就要从双引号和单引号的作用讲起:
双引号里面的字段会经过编译器解释然后再当作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.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート