ai didi

php - 有人可以解释这段代码的语法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:57:50 24 4
gpt4 key购买 nike

我在一个工作正常的 php 文件中有以下查询:

$query = "SELECT `name` FROM users WHERE name='".mysqli_real_escape_string($link,$name)."'";

我在教程中得到了它,所以我试图围绕语法进行思考。具体这部分:

'".mysqli_real_escape_string($link,$name)."'

如果函数 mysql_real_escape_string() 返回一个字符串,为什么需要双引号?另外,我在 php 中了解 .意味着连接所以这段代码是否添加到空字符串“”?

请帮忙,我真的搞砸了。

最佳答案

需要双引号,因为这是使用字符串连接来组成查询。这是做这类事情的一种非常困惑的方式,因为 mysqli 驱动程序支持占位符:

$query = "SELECT `name` FROM users WHERE  name=?";

? 表示数据的去向。然后你使用 bind_param方法在其中添加您的 $name 值。

如果您在使用占位符方面遵守纪律,则不必担心引用或 proper escaping .

关于php - 有人可以解释这段代码的语法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31330005/

24 4 0
文章推荐: mysql - 我在连接3个MySQL表时遇到问题,如何改善语法?
文章推荐: C# EF 6.0 - 更新添加到上下文集合的对象的导航属性集合
文章推荐: java - Android KitKat 图像选择不返回任何东西
文章推荐: c# - 我如何解决 Cannot create a DbSet for 'CUserMasterLocal' because this type is not included in the model for the context
太空宇宙
个人简介

我是一名优秀的程序员,十分优秀!

滴滴打车优惠券免费领取
滴滴打车优惠券
全站热门文章
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com