Intereting Posts
Турецкий кодировка символов с помощью MySQL PHP и sitemap.xml Ошибка: ожидаемая доктрина \ ORM \ Query \ Lexer :: T_WITH, получившая 'ON' PHP – изменение размера изображения на сервере до загрузки браузером Как вставить данные упорядочения из многомерного массива Как получить данные из отношений с объединениями в yii Выпадающий список из столбца MySQL с использованием mysqli Получить базу данных MySQL с помощью PHP в XML PHP Как рассчитать длину идентификатора сеанса перед началом сеанса Левый Присоединение первичного ключа к нормальному столбцу вызывает хаос php – обновить sql-оператор с краткими строками Скажите SELinux предоставить Apache для доступа к файлам PHP вне корневого документа Zend framework 2: «Ошибка подключения: SQLSTATE Доступ запрещен" Правильный способ получить время веб-сервера и отобразить его на веб-страницах Как перевести эту математическую формулу в Haskell или Python? (Был переведен на PHP)

mysql вставить в таблицу его имя содержит тире

Я использую mysql, у меня есть таблица, его имя – «концепция-отношение», и я хочу вставить в нее

PHP-код

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 )); 

я получил это сообщение об ошибке синтаксиса

 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-relation (relationID, firstConceptID, secondConceptID) VALUES (' at line 1' in C:\xampp\htdocs\Mar7ba\models\ontology_model.php:86 Stack trace: #0 C:\xampp\htdocs\Mar7ba\models\ontology_model.php(86): PDOStatement->execute(Array) #1 C:\xampp\htdocs\Mar7ba\controlers\Ontology.php(69): Ontology_Model->addRelation('jklljkljk', Array, Array) #2 C:\xampp\htdocs\Mar7ba\libs\Bookstrap.php(42): Ontology->relationAdd() #3 C:\xampp\htdocs\Mar7ba\index.php(13): Bootstrap->__construct() #4 {main} thrown in C:\xampp\htdocs\Mar7ba\models\ontology_model.php on line 86 

} Я попытался вставить непосредственно из mysql, и полученная ошибка кажется той же ошибкой

 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&quot;-&quot;.relation (relationID, firstConceptID, secondConceptID) VALU' at line 1 

проблема в том, что имя таблицы имеет тире в ti, посмотрите, как mysql понимает запрос

 INSERT INTO concept - relation( relationID, firstConceptID, secondConceptID ) VALUES ( 3, 3, 3 ) 

он понимает концепцию как раз и делает «отношение» в одиночку,

любая помощь пожалуйста

но не меняя имя моей таблицы 🙂

Related of "mysql вставить в таблицу его имя содержит тире"

Охватывающие идентификаторы с обратным шагом делают зарезервированные слова / символы допустимыми идентификаторами в mysql.

Поэтому вы должны использовать

  `concept-relation` 

Возврат ( ` ) – это ключ в верхней левой части этой клавиатуры.

введите описание изображения здесь

Пытаться:

 "INSERT INTO `concept-relation` (relationID, firstConceptID, secondConceptID) VALUES (:rID, :sID, :dID)"; 

попробуй это

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