Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDO无法识别具有特殊字符的列_Php_Mysql_Pdo - Fatal编程技术网

Php 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

我试图用SimpleMVC(PHP框架)创建一个应用程序,数据库中有一列名为“contraseña”。 尝试在此列中进行任何查询时,PDO返回以下错误:

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.无论如何,请回答:)