Php mysql中的更新表得到奇怪的结果
我试图更新mysql中的一个现有表,但我得到了奇怪的结果,我解释了我的问题: 我的桌子看起来像这样:Php mysql中的更新表得到奇怪的结果,php,mysql,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`
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");
“vote”值会更新,但每次我调用“saveVote.php”时,他都会第一次在我的表中创建一个空条目,其中只有vote
值,之后每次调用“saveVote.php”
右侧photoName
的vote
值会更新,但空条目的vote
值也会更新
为什么我的请求创建了这个空条目
谢谢您的帮助。您的$namePhoto=$\u POST['name'];也返回一个空值。试试这个:
if(!empty($_POST['name'])){
mysql_query("INSERT INTO `myTable` (`photoName`,`vote`) VALUES('$namePhoto','$likePhoto') ON DUPLICATE KEY UPDATE vote = vote + 1");
}
请记住,这只是为了测试。这不是解决办法。您需要找出发送空值的原因。请共享将
POST
数据发送到saveVote.php的代码。我正在从iOS应用程序saveVote.php发送POST数据,您可以通过HTMLTanks显示此内容以获取帮助,但当我添加代码时,表没有更新对不起,我有语法错误。错过了a)在if语句中Big Thank,它与用于$_POST['name']空值的if语句配合得很好,我认为空数据是由ios代码发送的,但我不在家,我无法验证我的Objc-C代码。很高兴听到这个消息。我建议使用像Firebug这样的webdeveloper工具来查看您正在发布什么样的帖子。现在我们知道您的php代码正在运行,因此它与您的表单提交有关。我通常不使用php,也不知道Firebug我将观看所有这些,再次感谢;)