[英]PHP : INSERT PDO Query array as binding value
如何使用PDO
Query
array
与Bindvalue
以这种方式? 我收到错误
$productadd_query_array = array(
"query" => "INSERT INTO vn_product (title) VALUES (:title)",
"query_variables" => "bindValue(':title', '1')"
);
$product_add = vn_db_query_select( $productadd_query_array );
Function vn_db_query_select:
function vn_db_query_select($array = null){
if ( is_null( $array ) || !defined( 'MYSQL_USER' ) || !defined( 'MYSQL_PASSWORD' ) || !defined( 'MYSQL_HOST' ) || !defined( 'MYSQL_DATABASE' ) ) {
return false;
}
if ( !isset( $array["query"] ) || is_null( $array["query"] ) || strlen( $array["query"] ) < 11 ) {
return false;
}
$pdo = new PDO(
"mysql:host=" . MYSQL_HOST . ";dbname=" . MYSQL_DATABASE.";charset=utf8", // DSN
MYSQL_USER, // Username
MYSQL_PASSWORD // Password
//$pdoOptions // Options
);
$userInfo = $pdo->prepare($array["query"]);
if ( is_array( $array["query_variables"] ) ) {
foreach ($array["query_variables"] as $var_name => $var_value) {
$userInfo->bindValue(":".$var_name, $var_value);
}
}
$userInfo->execute();
$user = $userInfo->fetchAll();
$pdo = null;
return $user;
}
如果您在此处查看query_variables
的代码:
if ( is_array( $array["query_variables"] ) ) {
foreach ($array["query_variables"] as $var_name => $var_value) {
$userInfo->bindValue(":".$var_name, $var_value);
}
}
它需要一个键=>值的数组。 所以你需要像这样传递它:
"query_variables" => ['title'=> '1']
或者对于旧版本的 PHP:
"query_variables" => array('title'=>'1')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.