问题描述:在使用php接口访问数据库时,即使浏览器直接访问接口,也会插入一条空数据。如何阻止这种情况的发生?
代码示例:
<?php // 增加记录 include_once('conn.php'); $name=$_post['name']; $jg=$_post['jg']; $dw=$_post['dw']; $yxq=$_post['yxq']; $ccff=$_post['ccff']; $bzgg=$_post['bzgg']; $jj=$_post['jj']; $tp=$_post['tp']; $xq=$_post['xq']; $fl=$_post['fl']; $ssc=$_post['ssc']; $fwcs=1; $time=$_post['time']; $sql="insert into `gallery` (`name`, `jg`, `dw`, `yxq`, `ccff`, `bzgg`, `flm`, `jj`, `xq`, `tp`, `fwcs`, `ssc`) values ( '".$name."', '".$jg."', '".$dw."', '".$yxq."', '".$ccff."', '".$bzgg."', '".$fl."', '".$jj."', '".$xq."', '".$tp."', '".$fwcs."', '".$ssc."');)"; $res=$conn->exec($sql);
登录后复制
解决方案:
在前面判断一下如果请求参数为空就直接返回。
立即学习“PHP免费学习笔记(深入)”;
代码修改:
<?php // 增加记录 include_once('conn.php'); if(empty($_POST)){ exit(json_encode(array( "status"=>false, "info"=>"add error, empty!", "sql"=>'' ),JSON_UNESCAPED_UNICODE)); } $name=$_POST['name']; $jg=$_POST['jg']; $dw=$_POST['dw']; $yxq=$_POST['yxq']; $ccff=$_POST['ccff']; $bzgg=$_POST['bzgg']; $jj=$_POST['jj']; $tp=$_POST['tp']; $xq=$_POST['xq']; $fl=$_POST['fl']; $ssc=$_POST['ssc']; $fwcs=1; $time=$_POST['time']; $sql="INSERT INTO `gallery` (`name`, `jg`, `dw`, `yxq`, `ccff`, `bzgg`, `flm`, `jj`, `xq`, `tp`, `fwcs`, `ssc`) VALUES ( '".$name."', '".$jg."', '".$dw."', '".$yxq."', '".$ccff."', '".$bzgg."', '".$fl."', '".$jj."', '".$xq."', '".$tp."', '".$fwcs."', '".$ssc."');)"; $res=$conn->exec($sql);
登录后复制
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容