PHP MYSQL – вставлять без использования имен столбцов, но с полем автоинкремента

Мне нужно вставить длинную строку с 32 полями в таблицу MySQL.

Я хотел бы сделать что-то вроде этого:

$sql="insert into tblname values (... 32 fields ...)"; 

Очевидно, что он отлично работает, если поля находятся в том же порядке, что и поля таблицы MySQL. Но в моей таблице есть идентификатор автоинкремента, так как это первое поле.

Я хочу заполнить все имена таблиц, кроме первого (id).

Предложения?

Просто используйте NULL качестве вашего первого значения, поле autoincrement прежнему будет работать, как ожидалось:

 INSERT INTO tblname VALUES (NULL, ... 32 Fields ... ) 

Вставьте NULL в поле автоматического увеличения.

Я рекомендую, чтобы, если это не скрипт взлома, вы используете имена полей. Обоснование заключается в том, что ваш код сломается, если вы когда-нибудь добавите поле в таблицу или измените свой порядок.

Вместо этого будьте ясными с именами полей, и в будущем это будет намного лучше.

Мы должны опускать любые значения столбцов, когда мы пытаемся без имени столбца вставить запрос,

Посоветуйте, если вышеуказанная информация неверна.

Вот отличный ярлык, который я использовал (любезность друга, который написал его для меня)

 $fieldlist=$vallist=''; foreach ($_POST as $key => $value) { $fieldlist.=$key.','; $vallist.='\''.urlencode($value).'\','; } $fieldlist=substr($fieldlist, 0, -1); $vallist=substr($vallist, 0, -1); $sql='INSERT INTO customer_info ('.$fieldlist.') VALUES ('.$vallist.')';