php/mysql语句中的(字符串)是什么意思?

php/mysql语句中的(字符串)是什么意思?,php,mysql,string,pdo,prepared-statement,Php,Mysql,String,Pdo,Prepared Statement,以前从没见过这个。无法找到和解释,前几天我在一个代码中看到了它,例如: $statement = $db->prepare("insert into table (col1, col2, col3) values (?, ?, ?)"); $data = array((string) $var1, (string) $var2, (string) $var3); $statement->execute($data); 看到这个(字符串)部分了吗?任何人都可以

以前从没见过这个。无法找到和解释,前几天我在一个代码中看到了它,例如:

    $statement = $db->prepare("insert into table (col1, col2, col3) values (?, ?, ?)");
    $data = array((string) $var1, (string) $var2, (string) $var3);
    $statement->execute($data);

看到这个(字符串)部分了吗?任何人都可以解释一下,请?

这意味着所有用$var1编写的内容都被转换成字符串,这样程序就可以处理输入而不会出错。

这意味着所有用$var1编写的内容都被转换成字符串,这样程序就可以处理输入而不会出错。

这是一个简单的强制转换,在代码中,查询是一个字符串,因此(字符串)确保您正在操作字符串,以下是PHP文档:

(int), (integer) - cast to integer
(bool), (boolean) - cast to boolean
(float), (double), (real) - cast to float
(string) - cast to string
(array) - cast to array
(object) - cast to object
(unset) - cast to NULL

例如:

$int = 4;
$string = (string)$int; 
echo gettype($int); // output snteger
echo gettype($string); // output string
一般来说,类型转换的含义是使用 具有不同数据类型的变量


这是一个简单的强制转换,在代码中,而查询是一个字符串,因此(字符串)请确保您正在操作字符串,以下是PHP文档:

(int), (integer) - cast to integer
(bool), (boolean) - cast to boolean
(float), (double), (real) - cast to float
(string) - cast to string
(array) - cast to array
(object) - cast to object
(unset) - cast to NULL

例如:

$int = 4;
$string = (string)$int; 
echo gettype($int); // output snteger
echo gettype($string); // output string
一般来说,类型转换的含义是使用 具有不同数据类型的变量


您可以绑定参数

$stmt = $conn->prepare("INSERT INTO table (col1, col2, col3) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $var1, $var2, $var3);
$stmt->execute();
类型规格字符

i对应变量的类型为integer

d对应变量的类型为double

s对应的变量具有类型字符串


b对应的变量是blob,将以数据包的形式发送

您可以绑定参数

$stmt = $conn->prepare("INSERT INTO table (col1, col2, col3) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $var1, $var2, $var3);
$stmt->execute();
类型规格字符

i对应变量的类型为integer

d对应变量的类型为double

s对应的变量具有类型字符串


b对应的变量是一个blob,将以数据包的形式发送

它实际上不是关于prepared语句的,它只是变量的类型转换。这是手册上的条目,很抱歉有个新问题。这就是答案。谢谢不过,字符串类型转换的可能副本看起来没有必要。所有值都被视为
PDO::PARAM_STR
它实际上不是关于准备好的语句,它只是为变量转换类型。这是手册上的条目,很抱歉有个新问题。这就是答案。谢谢不过,字符串类型转换的可能副本看起来没有必要。所有值都被视为
PDO::PARAM_STR
更好的答案!谢谢享受伟大的PHP,甚至更好的答案!谢谢享受伟大的PHPY你也可以在执行中完成这一步。。“input_parameters一个包含与正在执行的SQL语句中的绑定参数数量相同的元素的值数组。所有值都被视为PDO::PARAM_STR。”此接口是mysqli,OP使用PDO。您也可以在execute中执行该步骤。。“input_parameters一个包含与正在执行的SQL语句中的绑定参数数量相同的元素的值数组。所有值都被视为PDO::PARAM_STR。”此接口是mysqli,OP使用PDO