最後一行這樣print_r($res2);可以查詢出資料來 為什麼加上鍵名就會報錯了?
print_r($res2['name']);
提示這個錯誤
Notice: Undefined index: name in D:\wamp\www\fenyechaxun.php on line 16
這是資料庫的內容
prepare("select * from test"); $stmt->execute(); $res=$stmt->fetchall(); $rows=count($res); $pagesize=3; $pagenum=ceil($rows/$pagesize); $page=empty($_GET['page'])?1:$_GET['page']; $startnum = ($page - 1)*$pagesize; $query = "SELECT * FROM test LIMIT $startnum,$pagesize"; $stmt2=$pdo->prepare($query); $stmt2->execute(); $res2=$stmt2->fetchall(); print_r($res2['name']);?>
回複內容:
最後一行這樣print_r($res2);可以查詢出資料來 為什麼加上鍵名就會報錯了?
print_r($res2['name']);
提示這個錯誤
Notice: Undefined index: name in D:\wamp\www\fenyechaxun.php on line 16
這是資料庫的內容
prepare("select * from test"); $stmt->execute(); $res=$stmt->fetchall(); $rows=count($res); $pagesize=3; $pagenum=ceil($rows/$pagesize); $page=empty($_GET['page'])?1:$_GET['page']; $startnum = ($page - 1)*$pagesize; $query = "SELECT * FROM test LIMIT $startnum,$pagesize"; $stmt2=$pdo->prepare($query); $stmt2->execute(); $res2=$stmt2->fetchall(); print_r($res2['name']);?>
從你的可以看出~你查詢出來的數組應該是這樣子的:
array(0=>['type'=>1,'name'=>1,'num'=>1,'site'=>1,'content'=>1],1=>['type'=>2,'name'=>2,'num'=>2,'site'=>2,'content'=>2],2=>['type'=>3,'name'=>3,'num'=>3,'site'=>3,'content'=>3],3=>['type'=>4,'name'=>4,'num'=>4,'site'=>4,'content'=>4])
所以你要拿'name'???不太可能吧??
一:要麼你用$query = "SELECT name FROM test LIMIT $startnum,$pagesize";單獨查詢name;
二:可以用foreach迴圈
function foreach($array as $a){ $name[]=$a['name'];}
三:array_column($array,'key') 這個函數好像可以提取某一列的~你試試
$res0 試試?
$res2 是二維數組。
看下$res2的結構就曉得啦。。
參考 http://www.ourlove520.com/php5_doc/function.print-r.html
print_r() 將把數組的指標移到最後邊。
然後他要嘗試移動index的時候,發現並不是 。所以就報一個notice
而且notice並不影響 一般平時我們錯誤層級都把notice關閉的
用 var_dump(); 調試輸出看類型