Php PDO无法识别具有特殊字符的列
我试图用SimpleMVC(PHP框架)创建一个应用程序,数据库中有一列名为“contraseña”。 尝试在此列中进行任何查询时,PDO返回以下错误:Php PDO无法识别具有特殊字符的列,php,mysql,pdo,Php,Mysql,Pdo,我试图用SimpleMVC(PHP框架)创建一个应用程序,数据库中有一列名为“contraseña”。 尝试在此列中进行任何查询时,PDO返回以下错误: SQLSTATE [HY093]: Invalid parameter number: parameter was not defined 有什么方法可以让PDO识别特殊字符 控制器: $servidor = array( 'cuenta' => $usuario, 'contraseña' => $senha, 'ipRe
SQLSTATE [HY093]: Invalid parameter number: parameter was not defined
有什么方法可以让PDO识别特殊字符
控制器:
$servidor = array(
'cuenta' => $usuario,
'contraseña' => $senha,
'ipRegistro' => $ip,
'apodo' => $apelido
);
$this->_model->insert_server($servidor);
型号:
public function insert_server($data) {
$this->_db->insert("cuentas",$data);
}
链接到SimpleMVC框架:将列bame换行,如下所示:
$servidor = array(
'cuenta' => $usuario,
'`contraseña`' => $senha,
'ipRegistro' => $ip,
'apodo' => $apelido
);
对于SimpleMVC开发人员来说可能是值得一提的事情。您是否尝试过将列名用反勾(
`
)包装?@Fly-这可能是解决方案-应该这样发布它。显示您的\u db->insert
或->update
代码。如果该框架只是将数组名称逐字转置到:占位符上,那么您自己几乎没有机会修复它。提交错误报告;在l'future:/中只使用英文列名,这不是PDO问题,而是创建具有特殊字符的列的人@苍蝇已经给了你需要的答案。只需将您的查询放在该字段的背面勾选为select`contraseña`from….Fred,已经是UTF8了。马里奥,完成了@JorgeCampos,我不能改变列名。。。(你是巴西人?)。嘿@fly我认为值得一提的是MySql文档中的特殊字符。这里:第二段+1.无论如何,请回答:)