【发布时间】:2018-06-22 09:02:04
【问题描述】:
当我在执行 PDO 语句后尝试调用 fetch() 时,收到以下警告:
警告:非法字符串偏移
不过,当我使用 fetchAll() 时,它可以完美运行。
两者有什么区别,我将如何使用其中一个?
$allData = $con->prepare("SELECT * FROM users");
$allData->execute();
$result = $allData->fetch();
【问题讨论】:
-
我认为(在这里猜测)fetch 需要一条记录,而 fetchall 接受多条记录
-
@hellyale 没错。
fetch()用于返回单行结果,fetchAll()返回多行。 -
您实际上并没有显示会引发该警告的代码部分。这些代码都没有引用偏移量,因此当您使用
$result执行某些操作时,警告会在稍后出现。 -
@Don'tPanic Yes when i but it in Loop
-
什么类型的循环?是
for循环还是foreach循环? @HussamAdil 你能给我们看看代码吗?