表格结构:
ex_id int(11)
ex_fecha date
ex_nombre varchar(100)
ex_apaterno varchar(100)
ex_materno varchar(100)
ex_correo varchar(100)
ex_calle varchar(100)
ex_numero varchar(5)
ex_colonia varchar(100)
ex_ciudad varchar(100)
ex_telefono varchar(15)
ex_celular varchar(15)
ex_sexo int(11)
ex_nacimiento date
ex_religion int(11)
ex_ocupacion varchar(100)
ex_reco_id int(11)
Indices
PRIMARY ex_id
我的更新查询:
$stmt = $this->db->prepare("UPDATE expedientes SET `ex_nombre` = ?,
`ex_apaterno` = ?,
`ex_materno` = ?,
`ex_correo` = ?,
`ex_calle` = ?,
`ex_numero` = ?,
`ex_colonia` = ?,
`ex_ciudad` =?,
`ex_telefono` = ?,
`ex_celular` = ?,
`ex_sexo` = ?,
`ex_nacimiento` = ?,
`ex_religion` = ?,
`ex_ocupacion` = ?,
`ex_reco_id` = ?
WHERE `ex_id` = ?");
$stmt->bindparam('ssssssssssidisii',$nombre,$paterno,$materno,$umail,$calle,$numero,$colonia,$ciudad,$telefono,$celular,$sexo,$nacimiento,$religion,$ocupacion,$recomendado,$ex_id);
$stmt->execute();
答案 0 :(得分:2)
删除$stmt->bindparam
行,当您调用execute方法时,请执行以下操作:
$stmt->execute(array($nombre,$paterno,$materno,$umail,$calle,$numero,$colonia,$ciudad,$telefono,$celular,$sexo,$nacimiento,$religion,$ocupacion,$recomendado,$ex_id));
您正在使用bindParam错误,bindParam的第一个参数执行此操作:
参数标识符。对于使用命名占位符的预准备语句,这将是以下形式的参数名称:name。对于使用问号占位符的预准备语句,这将是参数的1索引位置。 Read more here
但是使用execute方法,第一个参数是:
具有与正在执行的SQL语句中的绑定参数一样多的元素的值数组。所有值都被视为PDO :: PARAM_STR。 Read more here