В PHP bind_param, по какой причине я не могу определить все столбцы как тип String? - PullRequest
1 голос
/ 25 ноября 2010

У меня есть несколько таблиц, в которые я вставляю от 40 до 50 столбцов - определения типов - это кошмар - и они выглядят так:поставить следующую букву.Если я облажаюсь, очевидно, что строки преобразуются в числа (что не имеет смысла).Но числа, обработанные как строки, похоже, не имеют проблем с MySQL.Кто-нибудь еще видит что-то, о чем я должен беспокоиться?

см. Документацию bind_param здесь: http://php.net/manual/en/mysqli-stmt.bind-param.php

1 Ответ

0 голосов
/ 25 ноября 2010

Вот совет

  • построить массив, который содержит столбцы таблицы и ее тип

например

 $table_columns = array('NAME_OF_COLUMN_1'=>'i',
 'NAME_OF_COLUMN_2'=>'i',
 'NAME_OF_COLUMN_3'=>'s',
 ...

При изменении типа столбца обновите $table_columns.
Если есть новое добавление столбца, добавьте новый столбец в $table_columns.
Если существует удаление существующего столбца, удалите существующий столбец из `$table_columns.

После этого просто

implode('', array_values($table_columns))

для переплета,

к списку имен столбцов

implode(',', array_keys($table_columns))

этот метод уменьшит вероятность возникновения ошибок и будет легко поддерживать

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