我如何确定从html表单获取的输入值的dtatype,以便我可以使用它们来绑定准备好的语句中的参数

问题描述 投票:0回答:1

我想动态确定我从HTML输入表单中获取的输入值的数据类型。这将有助于我绑定要使用PHP插入数据库中的数据的参数值。

此信息将帮助我确定字符串'sss'的值在下面用于mysql prepare语句的代码中,我想创建一个插入数据类,并且输入值可以是字符串,双精度,整数或Blob类型的'sdib'类型。

 if($stmt = $mysqli->prepare($sql)){

 $stmt->bind_param("sss", $first_name, $last_name, $email);              

 }

请帮助我获得解决方案。

我尝试遍历所有内容,但是在过去的两天中,我没有成功获得能够正确答案的代码。

我已经尝试了以下代码,甚至尝试了php手册中的一些其他代码,这些代码徒然使用了call_user_func_array()。

我了解HTML表单的输入值始终是字符串。

SECTION USING PREPARED STATEMENT IN INSERT QUERY
if($stmt = $mysqli->prepare($sql)){

$stmt->bind_param("sss", $first_name, $last_name, $email);              

}
CODE SHOWING HOW I AM TRYING TO GET DATA TYPE OF HTML INPUT VALUES
if(gettype($v)==="string") {
return "s";
}elseif(gettype($v)==="float"){
return "d";
}elseif(gettype($v)==="integer"){
return "i";
}elseif(gettype($v)==="binary"){
return "b";
}else{
$e  = '..could not establish data type';
$this->setError($e);
echo $e;
}

我希望能够从HTML输入表单中动态获取数据类型为'sss'的内容。我要构造的语句与此类似$ stmt-> bind_param(“ sddsii”,$ first_name,$ last_name,$ email);

javascript php mysql mysqli
1个回答
1
投票

我想动态确定我从HTML中获取的输入值的数据类型

HTML中的“ T”代表“文本”。 HTML中只有一种数据类型,即字符串。任何接收来自HTML的输入的代码都必须已经知道要使用哪种类型的数据并将字符串输入转换为该类型。

例如,如果数据库希望用户的年龄为整数,那么当您的代码收到该用户输入(字符串)时,它必须将其转换为整数,然后可以将整数传递到数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.