mysql中的更新表得到奇怪的结果

时间:2015-10-20 07:53:00

标签: php 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值,之后,每次&# 34; saveVote.php"叫做 vote值已更新为右photoName,但空条目的vote值也会更新。

为什么我的请求创建了这个空条目?

感谢您的帮助。

1 个答案:

答案 0 :(得分: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");
}

请记住,这只是为了测试。这不是解决方法。你需要找出你发送空值的原因。