php中这个mysql语句的语法怎么处理?

php中这个mysql语句的语法怎么处理?
如下图所示,问题在红框中:

clipboard.png

问题:
红框中那一串字符有$符号,会被认为是php变量,应该怎么处理?加转义符?

阅读 3.7k
6 个回答

不放在双引号里就不会解析

既然用pdo,就用bindParam绑定参数

如果真要这么写,就遵循单引号里面使用双引号不会被解析的原则。

如果你不想拼接sql语句的话 , '{$name}' 这样写也可以

'$2y$10'和'$QZSoTzqXYK5C1YOCmqE.7.pN2p'中间加个'\',这样转义一下就可以了.

首先你使用双引号包住字符串,然后sql语句中包含了单引号,所以处理起来就麻烦一些。

$sql = "insert into $dbname values(6,'张兰',98,90,99,'".'$2y$10$QZSoDFSFFSF'."')"; 

如果想要直接用字符串表述,可以写成上面的方式。
如果想代码看起来好理解一些,可以写成下面的方式。

$id=6;
$name = '张兰';
$a=98;
$b=90;
$c=99,
$string='$2y$10$QZSoDFSFFSF';
$sql = "insert into {$dbname} values({$id},'{$name}',{$a},{$b},{$c},'{$string}')"; 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题