Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   не могу найти источник проблемы (http://www.flasher.ru/forum/showthread.php?t=91085)

Chas 24.01.2007 14:15

не могу найти источник проблемы
 
стоит у меня на локальномхосте под winXP mysql 5.0.0.27 (поставил на неделе, до этого стоял вообще mysql 3) и стоит у меня на хостинге mysql 5.0.0.27.
выходит странная ошибка при занесении записей в мускуль, когда я вместо значения для auto_increment поля пишу null.

вот написал тестовый скрипт.
PHP код:

include ("config.php"); //устанавливаем там связь с мускуль
("DROP TABLE IF EXISTS test;");
("CREATE TABLE test (id int primary key auto_increment);");

("INSERT INTO test values ('null');");

$rst=("SELECT * FROM test;");
while (
$fld=mysql_fetch_array($rst)){
    echo 
$fld[0]."<br>";


q - это алиас от mysql_query.
на сервере выполняется и выводит естессно 1.
на локальной машине умирает с ошибкой: Out of range value adjusted for column 'id' at row 1.

JudgeFog 24.01.2007 15:07

Задокументированный баг пятерки
уже значится как исправленный.

Лечился так
вариант раз: Remove only value “STRICT_TRANS_TABLES” in directive “sql-mode” (file my.ini)
вариант два: SET GLOBAL SQL_MODE=”;

И не надо Null в кавычки - ошибка основана на несовпадении типов данных,
а то что в кавычках - строка получается, которую ты пытаешся вставлять в поле INT

Chas 24.01.2007 21:32

да я по-привычке беру все значения передаваемые в базу в кавычки, потому что иногда данные вставляются без изменений из $_POST,$_GET, чтобы всякие кулхацкеры не передавали всякую бяку типа index.php?id=';show tables

FourSide 25.01.2007 11:25

Для того, чтобы "всякие кулхацкеры не передавали всякую бяку" можно запрос пронать через mysql_escape_string().

Skubent 25.01.2007 13:24

Не запрос, а передаваемые в него данные.


Часовой пояс GMT +4, время: 06:29.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.