此PHP函数中使用的第一个参数$ con是什么?

Huibin Zhang

我知道mysqli_real_escape_string()函数用于防止SQL注入,但是我不知道为什么此函数设计为采用两个参数而不是仅一个参数?我知道$ _POST [“ firstname”]是使用此函数要转义的输入String,但是为什么还需要$ connection作为第一个参数?我是一名PHP学习者,很抱歉,如果这个问题没有太大的意义。

// escape variables for security
$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
var_dump($firstname);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$age = mysqli_real_escape_string($con, $_POST['age']);

$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES ('$firstname', '$lastname', '$age')";

if (!mysqli_query($con,$sql)) {
   die('Error: ' . mysqli_error($con));
}
echo "1 record added";

mysqli_close($con);
?>
奥兹玛

PHP手册所示

该函数的过程风格需要一个mysqli实例,换句话说,就是与先前创建的数据库的连接(这可能过于简化了):

string mysqli_real_escape_string ( mysqli $link , string $escapestr )

为了在没有第一个参数的情况下调用此函数,您需要实例化mysqli类,从而为该函数提供连接而无需真正添加任何其他参数。这是该类的实例:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

这就是以面向对象的方式调用函数的方式:

$string = $mysqli->real_escape_string($string);

希望这可以澄清您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在调用时不需要在Swift中使用函数的第一个参数名?

无参数构造函数中的第一个参数是什么?

“ [`”的第一个参数的名字是什么?

LLVMBlockAddress() 第一个参数是什么?

标准ClassLoader类构造函数的第一个参数是什么?

用返回类型与其第一个参数相同的函数来定义函数的正确方法是什么

为什么在Lua中使用一个额外的参数调用此函数?

在Numpy的重塑函数中,给出三个参数(第一个为-1)的意义是什么?

为什么此函数只返回应为5的数组中的一个(第一个)值?

两次声明一个 n 元函数的目的是什么,使得第二个参数的顺序与第一个相反?

为什么不在php中显示此数组的第一个元素?

为什么此PHP分配在循环中始终输出第一个值?

为什么函数是Haskell中的第一个参数

为什么“函数”的第一个参数否定括号?

为什么没有为方法/构造函数的第一个参数命名?

为什么Blob构造函数只将数组作为第一个参数?

makeCluster函数中的第一个参数究竟是做什么的?

Javascript concat() 方法中第一个参数的目的是什么?

$ .extend中的第一个布尔参数的目的是什么

选择系统调用的第一个参数的目的是什么?

priority_queue中第一个模板参数的用途是什么

pytorch中向后方法的第一个参数(渐变)是什么?

python中类方法的第一个参数是什么?

在Objective-C中,第一个参数“ identifier”到底是什么?

TapTarget.forBounds的第一个参数是什么,它的含义是Rect

eslint“缩进”规则的第一个参数是什么

Pydrake 中 FirstOrderHold 的第一个参数是什么意思?

传递到StatsModels预测函数的第一个值是什么?

namedtuple的第一个参数用于什么?