2014-02-21 2 views
0

Я создаю небольшую cms.Ошибка Wierd mysqli

Я создал все локальное. и это сработало нормально. но теперь, когда делают ту же самую вещь в Интернете я получаю ошибку в моем запросе вставки:

- Структура таблицы для таблицы pfitem

CREATE TABLE IF NOT EXISTS `pfitem` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`img` varchar(100) NOT NULL, 
`info` varchar(100) NOT NULL, 
`bedrijf` varchar(100) NOT NULL, 
`volgorde` int(1) NOT NULL, 
PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

Теперь у меня есть эта вставка запрос:

$query = "INSERT INTO pfitem VALUES ('', '$dbpath', '$info', '$file','$number')"; 
$mysqli->query($query) or die ("Error in query: $query ".mysql_error()); 

Но это дает мне ошибку: (только в моем онлайн-тесте, местный он отлично работает)

Error in query: INSERT INTO pfitem VALUES ('', 'images/5307383db793e.jpg', 'titel', 'bedrijf','3')

и в то же время несколько строк выше:

$number = 1; 
$query1 = "SELECT * FROM pfitem"; 

if ($result = $mysqli->query($query1)) { 
while ($row = $result->fetch_assoc()) { 
$number++; 
}} 

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

Надеюсь, что кто-то поймет, что происходит не так.

+2

Вставить точное сообщение об ошибке или код, а не просто запрос. возможно, в другой среде вы забыли AUTO_INCREMENT, и у вас есть двойные первичные ключи –

+0

запрос работает нормально, я просто проверил, создав таблицу ... это должно быть что-то еще ... попытайтесь получить точную ошибку. –

+0

как бы вы могли получить точную ошибку? это единственные вещи, которые он запускает при запуске. –

ответ

1

Попробуйте сделать это без ID и изменить номер столбца - без кавычек:

$query = "INSERT INTO pfitem (img , info , bedrijf , volgorde) VALUES ('$dbpath', '$info', '$file', $number)";

+0

wouw. это работает. Можете ли вы объяснить мне, почему это будет работать, а мой другой запрос не подходит? и его немного странно, он работал локально, а не онлайн. или он имеет какое-то отношение к mysql, не добавляя вставки emtpy после обновления? –

+0

в вашем запросе Вы пытаетесь поместить строку в 'volgorde'. Это неправильно, потому что: 'volgorde' int (1) NOT NULL – Adam

+0

im inserting int in volgorde right? #number - номер .. –