2015-10-20 4 views
3

Я пытаюсь обновить существующую таблицу в MySQL, но я получаю странные результаты, я объясняю свою проблему:таблица обновление в MySQL получить странные результаты

Моя таблица выглядит следующим образом:

TABLE `myTable` (
`id` int(11) NOT NULL AUTO_INCREMENT, 
`photoName` varchar(255) COLLATE latin1_general_ci NOT NULL, 
`vote` int(11) NOT NULL, 
PRIMARY KEY (`id`), 
UNIQUE KEY `photoName_2` (`photoName`), 
) 

и им пытаясь использовать saveVote.php, которые выглядят следующим образом:

$namePhoto = $_POST['name']; 
$likePhoto = $_POST['like']; 

mysql_connect("host","dbUser","psw"); 

mysql_select_db("db_is"); 

mysql_query("INSERT INTO `myTable` (`photoName`,`vote`) VALUES('$namePhoto','$likePhoto') ON DUPLICATE KEY UPDATE vote = vote + 1"); 

значение «голос» обновляется, но каждый раз, когда я называю «saveVote.php», в первый раз он создает пустую запись в моей таблице с только vote значение и после, каждый раз, когда «saveVote.php» вызывается , значение vote обновляется по правому значению photoName, но значение vote для пустой записи также обновляется.

Почему мой запрос создал эту пустую запись?

Спасибо за помощь.

+0

, пожалуйста, поделитесь кодом, который отправляет данные 'POST' на' saveVote.php' –

+0

. Я отправляю данные POST из приложения iOS saveOS.php, вы можете показать это http://bytes.com/topic/php/insights/664241-using-html-forms-pass-data-php для отправки из html – Mejdan

ответ

0

Кажется, что ваш $ namePhoto = $ _POST ['name']; также возвращает пустое значение. Попробуйте следующее:

if(!empty($_POST['name'])){ 
mysql_query("INSERT INTO `myTable` (`photoName`,`vote`) VALUES('$namePhoto','$likePhoto') ON DUPLICATE KEY UPDATE vote = vote + 1"); 
} 

Имейте в виду, что это только что нужно проверить. Это не проблема. Вам нужно выяснить, почему вы отправляете пустое значение.

+0

спасибо за помощь, но когда я добавляю ваш код, таблица не обновляется – Mejdan

+0

извините, у меня была синтаксическая ошибка. Missed a) в выражении if –

+0

Большое спасибо, он отлично работает с оператором if для пустого значения $ _POST ['name'], я думаю, что пустые данные отправляются кодом ios, но им нет дома, и я могу 't проверить мой код Objc-C .. – Mejdan

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