使用 PDO bindValue 将数组插入数据库
Insert An Array To Database using PDO bindValue
我需要将一个表格字段作为数组插入。所以我定义了一个函数来将输入转换为数组,如下所示:
function ConvertToArray($input){
if( is_array( $input ) ) // for input array type
return $input ;
else if( !isset( $input ) || $input == 'undefined' || ($input == "" && $input !==0) || $input == '""' || $input == "''" ){ // for empty input
$arr = array();
return $arr ;
}
else{ // for string input
$newarr = array();
array_push( $newarr, $input );
return $newarr ;
}
}
然后我想用 PDO 将它插入数据库,但是当绑定值时我有一个错误提示:
Array to string conversion error
这是我的代码:
$usageType = $this -> ConvertToArray($values['UsageType']);
$prepared->bindValue(':UsageType', $usageType); // here is the error
知道如何解决我的问题吗?谢谢!
要将数组存储在数据库中,请使用 serialize() 或根据您的方便将其转换为 json。
$prepared->bindValue(':UsageType', serialize($usageType));
我需要将一个表格字段作为数组插入。所以我定义了一个函数来将输入转换为数组,如下所示:
function ConvertToArray($input){
if( is_array( $input ) ) // for input array type
return $input ;
else if( !isset( $input ) || $input == 'undefined' || ($input == "" && $input !==0) || $input == '""' || $input == "''" ){ // for empty input
$arr = array();
return $arr ;
}
else{ // for string input
$newarr = array();
array_push( $newarr, $input );
return $newarr ;
}
}
然后我想用 PDO 将它插入数据库,但是当绑定值时我有一个错误提示:
Array to string conversion error
这是我的代码:
$usageType = $this -> ConvertToArray($values['UsageType']);
$prepared->bindValue(':UsageType', $usageType); // here is the error
知道如何解决我的问题吗?谢谢!
要将数组存储在数据库中,请使用 serialize() 或根据您的方便将其转换为 json。
$prepared->bindValue(':UsageType', serialize($usageType));