2015-10-06 2 views
-1

ПРОБЛЕМА:INSERT/UPDATE не работает даже с правильным синтаксисом?

Я написал и был запущен скрипт, который ранее работал, и сегодня я понимаю, что, хотя, как представляется, работает правильно, в течение последних нескольких дней никаких данных не являющихся вставлены или обновлены (в основном, любые запросы на запись). Это не вызывает никаких ошибок, и когда один и тот же запрос копируется и вставляется в терминал mysql, он вставляет правильно.

КОД

$sql = "REPLACE INTO `history` (`owner`, `user`, `status`, `now_date`) 
VALUES ('{$owner['username']}', '{$user}', '1', NOW())"; 

if (!mysqli_query($db, $sql)) { die('Error: ' . mysqli_error($db)); } 

echo "Affected rows: " . mysqli_affected_rows($db); 

РЕАКЦИЯ

Affected rows: 1 

Так что, кажется, работает, не вызывает какую-либо ошибку, и когда тот же запрос вводится в mysql terminal, это работает, просто через PHP это не так. Разрешения для подключения пользователя в порядке.

Эта проблема только что произошла на прошлой неделе, до того, как она работала отлично. Я действительно смущен.

Thanks, John.

+0

удалить '{}' и попробовать –

+4

@MayankVadiya Нет Dont удалить '{}' или он определенно не будет работать – RiggsFolly

+0

распечатывают заявление, чтобы увидеть, если вы получите expacted результат – Jens

ответ

0

Вы говорите, что столбец под названием id является UNIQUE ключом этой таблицы.

Вы не используете id в этом запросе, так как он будет иметь возможность знать, чтобы сделать INSERT или UPDATE (DELETE-INSERT) без id поле быть там, чтобы он мог принять это решение.

REPLACE работает точно так же, как INSERT, за исключением того, что если старая строка в таблице имеет то же значение, что и новая строка для PRIMARY KEY или UNIQUE индекс, старая строка удаляется до новой строки вставлено.

See the manual

+0

'REPLACE' использовался со старой версией скрипта , С тех пор я изменил его на «INSERT», и он все еще не работает. Я не думаю, что эта проблема основана на запросе, так как запрос «INSERT» корректно работает в PhpMyAdmin. Моя подсказка говорит мне, что это проблема с конфигурацией сервера где-то, хотя никаких ошибок не где. –

+1

Извините, Джон. Вы не можете изменить свой вопрос, как только его прокомментировали и ответили. Это сделало бы большую часть вопросов/ответов бессонницей. Пожалуйста, задайте другой вопрос, если вы изменили основное помещение – RiggsFolly

+0

Хорошо, я попрошу его снова изменить REPLACE на UPDATE ... –

Смежные вопросы