Удалены цифры при вставке в MySQL (PHP) - PullRequest
0 голосов
/ 08 февраля 2011

Привет Я вставляю данные (всего 3 поля) в таблицу mysql.

Проблема в том, что при вставке одного из них, числа (3 цифры) в tinyint (также пробовал TEXT, VARCHAR и другой тип поля), в результате добавляется только первая цифра.

Другие поля, включая цифры, вставляются без проблем.

Я использую функцию, которая вызывает этот простой код:

$idT= $_POST["idT"];

function related( $idE, $idT, $Type  )
{
$sql = "INSERT INTO table_name ( idE, idT, Type ) VALUES ( '$idE', '$idT', '$Type ')";
$result = mysql_query($sql, $conn);

return mysql_insert_id($conn);
}

Проблема с переменной $idT.

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Возможно, проблема в том, что значения, которые вы пытаетесь вставить, выходят за пределы емкости числового типа MySql [TINYINT] (в диапазоне от -127 до 127 со знаком или от 0 до 255 со знаком).

Возможно, вам придется изменить структуру таблицы так, чтобы вместо столбцов было указано TINYINT INT(#).

0 голосов
/ 09 февраля 2011

Я думаю, что вы меняете только поле " Тип данных " (будь то "VARCHAR", или "INT", или "TINYINT"). Необходимо также изменить поле « Длина / Значения » на «3» («TINYINT UNSIGNED»), либо «4» («TINYINT SIGNED»), либо «* 1012». * "(" INT SIGNED ").

Надеюсь, это поможет.


Простейший способ отследить любой код в PHP - отобразить обязательные / заинтересованные переменные (если это строка / целое число) или использовать "var_dump / print_r" для всех других переменных, сразу после каждый оператор присваивания и после каждого вызова функции.

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