全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworksBGVM服务器IP归属甄别会员请立即修改密码
查看: 480|回复: 11

大半夜的,问个php运行sql的问题,困扰好久了,望大神解答

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式
php里面 要这样拼接双引号,才能运行语句
  1. 'username = "'.\Yii::$app->user->identity->name.'"'
复制代码



  1. sel ect * from t_employee where username="name";
复制代码



如果直接
  1. 'username = '.\Yii::$app->user->identity->name
复制代码


那么就变成
  1. sel ect from t_employee where username=name;
复制代码


这样肯定错了,


我想问下,  似乎好像 有可以用 花括号的?

用花括号把变量括起来是什么意思呢  {\Yii:app->user->identity->name}

可以直接转义 变成 引号?

如果不是 那加花括号是干啥的?  
发表于 4 天前 | 显示全部楼层
->就是常规语言里的.

另外你这种写法我不想回答,迟早出事
发表于 4 天前 | 显示全部楼层
楼下大佬来解答
发表于 4 天前 | 显示全部楼层

楼下大佬来解答
发表于 4 天前 | 显示全部楼层
很简单,子字符串的问题,举个例子
$name="a";
$name.'b' = 'ab'
$name.' "b" ' = 'a"b" '

而mysql中查询字符串条件是要加引号的,明白了吧
 楼主| 发表于 4 天前 | 显示全部楼层
wok 发表于 2021-6-12 00:47
很简单,子字符串的问题,举个例子
$name="a";
$name.'b' = 'ab'



怎么让变量自动转义,执行sql的时候自动加引号

$name='h2o';

$newname={$name};


这样$newname 能自动加上 引号吗
 楼主| 发表于 4 天前 | 显示全部楼层
h20 发表于 2021-6-12 00:43
->就是常规语言里的.

另外你这种写法我不想回答,迟早出事

以后这烂摊子甩给你
发表于 4 天前 来自手机 | 显示全部楼层
直接使用预处理不就可以了
 楼主| 发表于 4 天前 | 显示全部楼层
本帖最后由 朕的大清完了? 于 2021-6-12 01:53 编辑

测试了下  花括号只能配双引号用,单引号不行

发表于 4 天前 | 显示全部楼层
朕的大清完了? 发表于 2021-6-12 01:51
测试了下  花括号只能配双引号用,单引号不行

你还是去补PHP基础吧,PHP中单引号内的内容表示纯字符串,不支持表达式解析,双引号可以
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2021-6-16 19:39 , Processed in 0.071558 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表