Php 插入到名称中有破折号的表中

Php 插入到名称中有破折号的表中,php,mysql,pdo,mysql-error-1064,Php,Mysql,Pdo,Mysql Error 1064,我有一个名为概念关系的表,我想插入其中 for ($i = 0; $i < count($sources); $i++) { $sourceID = $this->getConcpeptID($sources[$i]); $desID = $this->getConcpeptID($distinations[$i]); $query2 = "INSERT INTO concept-relation (relationID, firstConceptID,

我有一个名为
概念关系
的表,我想插入其中

for ($i = 0; $i < count($sources); $i++) {
    $sourceID = $this->getConcpeptID($sources[$i]);
    $desID = $this->getConcpeptID($distinations[$i]);
    $query2 = "INSERT INTO concept-relation (relationID, firstConceptID, secondConceptID) VALUES (:rID, :sID, :dID)";
    $sth = $this->db->prepare($query2);
    $sth->execute(array(
        ':rID' => $relationID,
        ':sID' => $sourceID,
        'dID' => $desID
    ));
}
它只理解概念,只做“关系”

感谢您的帮助,但不要更改我的表名:)试试这个

$query2 = "INSERT INTO concept-relation (relationID, firstConceptID, secondConceptID)
                VALUES (:rID, :sID, :dID)";
尝试:


在mysql中,用反勾号括住标识符会使保留字/字符成为有效标识符

所以你应该使用

 `concept-relation`
反勾号(`)是此键盘左上角的键


如果你指的是qoma,就像这个“concpet关系”,所以它不起作用,这不是qoma-这是一个后面的撇号(它在键盘上
1
之前的数字行中)是的,它起作用了,非常感谢,我会在6分钟后接受你的答案概念之前的字符是什么?同样的错误,尽管如此,sameusing backtick并没有改变表名,它只是转义了表名。如何在概念之前找到charector?哪个键盘键?按下英文键盘上
1
左侧的键
$query2 = "INSERT INTO `concept-relation` (relationID, firstConceptID, secondConceptID)
                VALUES (:rID, :sID, :dID)";
"INSERT INTO `concept-relation` (relationID, firstConceptID, secondConceptID) VALUES (:rID, :sID, :dID)";
 `concept-relation`