Почему он вставляет 0 вместо пробелов в мою БД с помощью php? - PullRequest
1 голос
/ 28 мая 2010

У меня есть вставка:

$sql = 'INSERT into orders SET 
fax_int_prefix = "'.$_SESSION['fax_int_prefix'].'", 
fax_prefix = "'.$_SESSION['fax_prefix'].'", 
fax_first = "'.$_SESSION['fax_first'].'", 
fax_last = "'.$_SESSION['fax_last'];

Значение всех этих полей в том, что они не заполнены непосредственно перед вставкой. Вот пример одного из них, который я нашел перед вставкой:

$_SESSION[fax_prefix] =

По какой-то причине он вставляет целое число 0 вместо пустого значения или ноль, как и должно быть. Почему он вставляет 0 вместо пробелов в мою БД?

Ответы [ 2 ]

2 голосов
/ 28 мая 2010

Проверьте структуру вашей таблицы. Возможно, он не относится к типу char или varchar (или имеет значение по умолчанию, равное «0»). Для этого вы можете использовать phpmyadmin , SQLyog или другие программы администрирования MySql.

Редактировать: Если вы хотите хранить целые числа, но у вас есть опция без значения , тогда убедитесь, что тип обнуляем. т.е.: column_name INT(n) DEFAULT NULL

0 голосов
/ 28 мая 2010

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

SHOW FIELDS FROM orders;

или

SHOW CREATE TABLE orders;

может помочь. Кроме того, просто распечатка переменной не является хорошей проверкой, скорее используйте var_dump ().

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