我尝试更新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
值也会更新。
为什么我的请求创建了这个空条目?
感谢您的帮助。
答案 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");
}
请记住,这只是为了测试。这不是解决方法。你需要找出你发送空值的原因。