亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Thinkphp echo 數組中一個字段會提示Undefined

Thinkphp echo 數組中一個字段會提示Undefined

PHP
feiyanger 2016-10-19 23:29:31
如圖所示,圖中username字段是從數據庫中取出的一條記錄所有。$mes?=?M('user')->where(array('id'=>mt_rand(0,999999)))->find(); echo?$i.$mes['username']."<br/>";然后TP trace工具就會提示Undefined,雖然這樣子不會影響使用,但是曾經有人說過提示Undefined的程序不嚴謹。希望知道這方面的知識的小伙伴介紹下:為什么會提示Undefined?這樣子寫會導致不良的后果嗎?嚴謹的寫法要怎么寫?
查看完整描述

2 回答

已采納
?
Tobey_滔

TA貢獻242條經驗 獲得超128個贊

錯誤了!!!你的sql語句有問題吧!!!M('user')->where(array('id'=>mt_rand(0,999999)))->find();的意思是尋找id=0-999999中的隨意一個數據...但是你確定0-999999隨機一個你數據庫都有這個信息嗎??建議修改成

M('user')->where(array('id'=>1))->find(); id為1的數據總有吧!!!由于獲取不了數據..才會顯示undefined的!!!在使用thinkphp操作數據庫的時候..你可以根據返回的信息判斷一下是否獲取到數據的

查看完整回答
反對 回復 2016-10-20
  • feiyanger
    feiyanger
    我自己寫的模擬庫,有1000W條記錄。SQL沒有錯。這個是變量沒聲明造成的,我昨晚找到答案了,但是還是不能理解聲明和不聲明的區別。PHP不是表示不需要聲明么?
  • Tobey_滔
    Tobey_滔
    這樣吧!!你首先把$mes看看是什么..你var_dump($mes);一下..看看數據格式...看看有沒有$mes["username"]這一個值!!php是弱數據類型...但是不代表不需要聲明....你可以使用isset()函數判斷一下有無這個變量后再使用..這樣就不會報類似的錯誤了
  • feiyanger
    feiyanger
    因為直接從數據庫里面查出來的數據,值肯定是有的。用isset判斷是個好辦法,如果有就聲明。
?
慕粉3297688

TA貢獻8條經驗 獲得超3個贊


別用M函數,用<?php

namespace Admin\Model;
use Think\Model;

class PostsModel extends Model {
?? ?
??? protected $tableName = "posts";
?? ?
??? protected $_validate = [
??????? ['p_title', 'require', "標題不能為空"],
??????? ['p_content', 'require', "內容不能為空"],
??? ];
?? ?
?? ?
??? public function pagelist($page, $perPage) {
??????? $count = $this->count();
??????? $row = $this->page($page, $perPage)->select();
??????? return [$count, $row];
??? }
}這種方式!

查看完整回答
反對 回復 2016-10-20
  • feiyanger
    feiyanger
    因為是隨便寫一個循環在生成測試數據,所以就沒用Model了,哈哈,等有空去試試看。
  • 慕粉3297688
    慕粉3297688
    因為m函數在thinkphp5中已經不使用了! class PostsModel extends Model { protected $tableName = "user"; public function pagelist($page, $perPage) { $count = $this->count(); $row = $this->where(array('id'=>mt_rand(0,999999)))->save(); return [$count, $row]; } 按照我寫的稍微改改試試!
  • 2 回答
  • 0 關注
  • 2681 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號