<?php
$user = 'root';
$pass = 'password';
$dbh = new PDO('mysql:host=127.0.0.1;dbname=dbname', $user, $pass);
$num = ($_GET['page']-1)*2;
echo $num;
$strSQL = "select * from username limit '$num',2";
$result = $dbh->query($strSQL);
foreach ($result as $row) {
echo $row['number'] . "<br>" . $row['username'] . "<br>" . $row['password'];
}
?>报错
Warning: Invalid argument supplied for foreach() in /home/study/html/zjy/admin.php on line 9
网上查说是foreach里不是数组时会报这个错
这里result检查过是数组
然而依旧报错求各位大大解惑,谢谢
$user = 'root';
$pass = 'password';
$dbh = new PDO('mysql:host=127.0.0.1;dbname=dbname', $user, $pass);
$num = ($_GET['page']-1)*2;
echo $num;
$strSQL = "select * from username limit '$num',2";
$result = $dbh->query($strSQL);
foreach ($result as $row) {
echo $row['number'] . "<br>" . $row['username'] . "<br>" . $row['password'];
}
?>报错
Warning: Invalid argument supplied for foreach() in /home/study/html/zjy/admin.php on line 9
网上查说是foreach里不是数组时会报这个错
这里result检查过是数组
然而依旧报错求各位大大解惑,谢谢
$strSQL = "select * from username limit $num,2";
这里$num没有单引号这里追问下 什么时候要加引号啊,只知道单引号双引号区别,但具体什么时候用都靠猜
谢谢
SELECT*FROMtable LIMIT [offset,] rows | rows OFFSET offset
是这样子写的。
表示数字的就不用单引号,比如年龄大于18岁,age>=18;
表示字符串就必须用单引号,比如名字为张三,name='张三'。
if($result){ // 加个判断,为空则不执行foreach
foreach ($result as $row) {
echo $row['number'] . "<br>" . $row['username'] . "<br>" . $row['password'];
}
}