Почему это вставляет 0 вместо пробелов в мой DB с помощью php?

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

$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'];

Значение всех этих полей - то, что они - пробел прямо перед вставкой. Вот является пример одного из них мной echo'd незадолго до вставки:

$_SESSION[fax_prefix] =

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

1
задан JYelton 28 May 2010 в 00:00
поделиться

2 ответа

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

Изменить: Если вы хотите хранить целые числа, но у вас есть опция без значения , убедитесь, что тип допускает значение NULL. то есть: имя_столбца INT (n) ПО УМОЛЧАНИЮ NULL

2
ответ дан 3 September 2019 в 00:15
поделиться

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

SHOW FIELDS FROM orders;

или

SHOW CREATE TABLE orders;

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

0
ответ дан 3 September 2019 в 00:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: