我是SQL
的新手。对于我的PHP
应用程序,我正在使用HTML,PHP和SQL
下面的代码用于添加插入查询。
$insert_query = "INSERT INTO policy_request (user_name, user_mobile, user_email, user_car_model, user_policy_expiry_date, request_from, policy_created_on) VALUES (?,?,?,?,?,?,?)";
$params = array('".$user_name."', $user_mobile, '".$user_email."', '".$user_car_model."', '".$policy_date."', '".$request_url."', '".$created_on."');
if(!sqlsrv_query($conn,$insert_query,$params)){
//echo "inside";exit;
die(print_r(sqlsrv_errors())); exit;
}else{
echo "rows inserted";
exit;
}
我收到这样的错误
[0] => Array
(
[0] => IMSSP
[SQLSTATE] => IMSSP
[1] => -14
[code] => -14
[2] => An invalid parameter was passed to sqlsrv_query.
[message] => An invalid parameter was passed to sqlsrv_query.
)
我不知道我弄错了哪里。 建立了FYI数据库连接。
答案 0 :(得分:0)
通过查看参数数组,您似乎试图将参数作为一个长字符串传递,其值以逗号分隔。这是不正确的。
首先,您尝试这样做是不正确的。您有一些缺失的引号 - 字符串中缺少第一个和最后一个"
,以及$user_mobile
周围缺少引号和连接。
其次,当查询期望七个时,您只发送一个参数(字符串)。
$params
应该是一个数组,其值与查询中的占位符(?
)的值相同。在这种情况下,您有七个占位符,因此$params
数组中应该有七个值。像这样:
$params = array($user_name, $user_mobile, $user_email, $user_car_model, $policy_date, $request_url, $created_on);