Привет, у меня следующий вопрос:mysqli_multi_query терпит неудачу на нескольких вставок
При попытке выполнить несколько INSERT INTO запросов с помощью функции mysqli_multi_query, ни один из них не выполняются, и я получаю стандарт «У вас есть ошибка в синтаксисе SQL ", но когда я беру ту же самую строку, которую я передал функции и вставлял в PHPMyAdmin и выполнял ее, она работает безупречно!
Вот запросы я пытающиеся выполнить:
INSERT INTO production VALUES(120, 103, 10, 0, 0);
INSERT INTO production VALUES(120, 107, 5, 1, 0);
INSERT INTO production VALUES(120, 106, 7, 2, 0);
INSERT INTO production VALUES(120, 103, 20, 0, 1);
Они находятся в одной строке, разделенных пробелом после запятой.
Вот что я делаю в коде:
$querytext = $queries // Get all the queries
$query_result = mysqli_multi_query($this->_connection, $querytext);
if(mysqli_errno($this->_connection) > 0)
echo mysqli_error($this->_connection);
var_dump($querytext);
var_dump($query_result);
При выполнении данного кода результаты в:
У Вас есть ошибка в вашем SQL синтаксиса; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с «INSERT INTO production VALUES» (120, 107, 5, 1, 0); INSERT INTO production VALUE 'по строке 1
строка (210) «ВСТАВКА В ЗНАЧЕНИЯ ПРОДУКТА (120, 103, 10, 0, 0); ВСТАВКА В ЗНАЧЕНИЯ ПРОДУКТА (120, 107, 5, 1, 0); в производство значений (120, 106, 7, 2, 0); INSERT INTO производственных значений (120, 103, 20, 0, 1); "
BOOL (ложных)
Если вы хотите чтобы проверить это поведение самостоятельно, вот production
таблица:
CREATE TABLE `production` (
`colonyID` INT NOT NULL ,
`resource_type_being_built` INT NOT NULL ,
`amount_requested` INT NOT NULL ,
`build_list_position` INT NOT NULL ,
`production_number` INT NOT NULL ,
INDEX ( `colonyID`)
) ENGINE = MYISAM ;
Я что-то замечаю или это просто странное поведение?
Вы уверены, что разрывы строк разрешены между запросами? – 2010-12-15 15:08:14
См. «Они находятся в одной строке, разделенной пробелом после точки с запятой».: В строке нет разрывов строк, я просто нарисовал ее для браузера. Предложение аджреала исправлено, кстати. – Beerdude26 2010-12-15 16:06:44