Схожу с ума от этого ...
Я пытаюсь вставить количество строк в базу данных D6 одним вызовом db_query. Я собрал строки как набор строк, а затем собрал их в одну большую строку, что-то вроде этого:
$theData = "(1, 2, 'a'), (3, 4, 'b'), (5, 6, 'c')";
db_query("insert into {table} (int1, int2, str) values %s", $theData);
($ theData в моем коде не печатается так; это результат написанного мною кода - большая строка, содержащая наборы значений, заключенные в скобки.)
Когда это запускается, я получаю сообщение об ошибке:
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 'insert into
table (int1, int2, str) values (1,2,\'a\' at line 1 query: insert into
table (int1, int2, str) values (1,2,\'a\'),(3,4,\'n\'),(5,6,\'c\')...
Итак, db_query или кто-то еще экранирует строки перед передачей значений в mysql. Как мне избежать этого? Я мог бы сделать отдельные запросы для каждого набора данных, но это неправильно / дорого по всем очевидным причинам. Спасибо!