各位大神帮忙看一下这个是什么情况!

yy654188 2016-05-12 04:18:06
这是一个创建个人仓库的程序,单独测试没问题
打算在用户个人中心加载的时候直接运行,
程序运行的时候很成功,但是每次刷新界面的时候if语句中的程序又执行了

function _order_given(){
$uid = $this->checked_login();
$sql1="select uid from order_given where uid='$uid'";
$usergiven=$this->App->find($sql1);
//判断当前用户id在个人仓库表中是否存在
$row = mysql_num_rows($usergiven);
if($row==0) //表中不存在用户id创建个人仓库数据
{
$sqlg1="insert into order_given(goods_sn,pifa_price,is_on_sale,is_jifen) select goods_sn,pifa_price,is_on_sale,is_jifen from gz_goods";
$sqlg2="UPDATE order_given SET uid='$uid' WHERE uid='0'";
$this->App->query($sqlg1);
$this->App->query($sqlg2);

}
}
...全文
102 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yy654188 2016-05-13
  • 打赏
  • 举报
回复
感谢大家问题解决了
傲雪星枫 2016-05-12
  • 打赏
  • 举报
回复
如果刷新插入多一条记录。 问题应该是在这里 $sql1="select uid from order_given where uid='$uid'"; $usergiven=$this->App->find($sql1); //判断当前用户id在个人仓库表中是否存在 $row = mysql_num_rows($usergiven); if($row==0) //表中不存在用户id创建个人仓库数据 把$uid,$sql1,$row打印出来看看。
lwc64508978 2016-05-12
  • 打赏
  • 举报
回复
这条语句: int mysql_num_rows ( resource $result ) 括号中的参数是资源句柄 $usergiven=$this->App->find($sql1); 这条语句返回的是resource类型吗? 最好把完整的 类,类中的app,还有find 程序发出来。
lanshs 2016-05-12
  • 打赏
  • 举报
回复
你在sql语句后边加上 echo $sql1; exit; //有时候要查看的内容不是字符串,用print_r($xxx); 运行看看,sql对不对,可能是check用户没拿到正确的uid。 测试程序哪里出了问题可以用这个方法,看看打印的内容和预期的有什么差别
xuzuning 2016-05-12
  • 打赏
  • 举报
回复
既然 单独测试没问题,那么就是联合环境出了问题 你不去到其他地方找原因,只揪住这个函数不放,是什么道理?
yy654188 2016-05-12
  • 打赏
  • 举报
回复
给自己张沙发,坐等大神路过!

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧