各位大神幫忙看一下這個是什麼情況!

來源:互聯網
上載者:User
這是一個建立個人倉庫的程式,單獨測試沒問題
打算在使用者個人中心載入的時候直接運行,
程式啟動並執行時候很成功,但是每次重新整理介面的時候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);

}
}


回複討論(解決方案)

給自己張沙發,坐等大神路過!

既然 單獨測試沒問題,那麼就是聯合環境出了問題
你不去到其他地方找原因,只揪住這個函數不放,是什麼道理?

你在sql語句後邊加上
echo $sql1; exit; //有時候要查看的內容不是字串,用print_r($xxx);
運行看看,sql對不對,可能是check使用者沒拿到正確的uid。
測試程式哪裡出了問題可以用這個方法,看看列印的內容和預期的有什麼差別

這條語句:
int mysql_num_rows ( resource $result )
括弧中的參數是資源控制代碼
$usergiven=$this->App->find($sql1); 這條語句返回的是resource類型嗎?
最好把完整的 類,類中的app,還有find 程式發出來。

如果重新整理插入多一條記錄。
問題應該是在這裡
$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列印出來看看。

感謝大家問題解決了

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.