Как выполнить код MySQL с точкой с запятой в PHP? - PullRequest
2 голосов
/ 22 марта 2012

код

INSERT INTO `semicolon` VALUES ('1', 'a:1:{s:4:\"size\"';\s:2:\"24\";\}'); 

Как вы можете видеть в двойных одинарных кавычках, есть ; (точка с запятой), и это разбивает код, потому что это знак выполнения.

Я получаю сообщение об ошибке синтаксиса, в противном случае без ; (точка с запятой) все работает нормально. Если вы используете программное обеспечение, такое как phpmyadmin или navicat, оно работает даже с точкой с запятой.

Вопрос в том, как это исправить, чтобы он работал в PHP-файле?

Ответы [ 2 ]

8 голосов
/ 22 марта 2012

Это связано с вашей одинарной кавычкой, а не точкой с запятой:

INSERT INTO semicolon VALUES ('1', 'a:1:{s:4:\"size\"';\s:2:\"24\";}'); 
-----------------------------------------------------^
6 голосов
/ 22 марта 2012

На самом деле ' разделяет код.Escape с помощью \'

 INSERT INTO semicolon VALUES ('1', 'a:1:{s:4:\"size\"\';\s:2:\"24\";}');

' является разделителем строк в SQL.В движке SQL строка заканчивается на '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...