gpt4 book ai didi

php - 通知 : Unknown: Skipping numeric key 1 in Unknown on line 0

转载 作者:可可西里 更新时间:2023-11-01 12:23:48 29 4
gpt4 key购买 nike

我有以下代码:

include 'includes/connect.php';
$sp= "clot";
$selectall = mysqli_prepare($connection, "SELECT Count FROM prices WHERE Category = ? ORDER BY ppu LIMIT 11");
mysqli_stmt_bind_param($selectall, 's', $sp);
mysqli_stmt_execute($selectall);
$resulttotal = mysqli_stmt_get_result($selectall);
$x=1;
while($row = mysqli_fetch_array($resulttotal, MYSQLI_ASSOC)){
$_SESSION[$x] = $row['Count'];
$x++;
}
$y=1;
while(isset($_SESSION[$y])){
if($y==11){
$_SESSION['nextstart'] = $_SESSION[$y];
unset($_SESSION[11]);
}
else{
echo($y);
echo("<br>");
echo($_SESSION[$y]);
echo("<br>");
$y++;
}
}

输出预期的数字字符串 (1, 17, 2, 18...) 此错误消息(十次,使用键 1、键 2、键 3 等):

Notice: Unknown: Skipping numeric key 1 in Unknown on line 0

查找此错误,我能找到的唯一答案是将数组放入超全局会导致此错误。我不相信我把一个数组放进去,$row['Count'] 是一个字符串,不是吗?我在 stackoverflow 上找不到关于此错误的任何条目。

导致此错误的原因是什么,我应该如何解决? (显示的代码只是我使用我的数据库试验和规划无限分页的设计。)

最佳答案

PHP session 存储机制最初是围绕“注册”变量构建的,因此 $_SESSION 中的键必须是本身可以被视为变量的名称。

这意味着 $_SESSION[42] 是无效的,因为 $42 不是一个有效的变量名,而且由于 $foo[42]$foo['42'] 指的是同一件事,$_SESSION['42'] 也是无效的。

解决方案是在 session 变量上使用前缀(例如 $_SESSION['row_count_' . $x] = $row['Count'];)或将它们放入数组中,然后您可以稍后循环等(例如 $_SESSION['row_counts'] = array(); ... $_SESSION['row_counts'][$x] = $row['Count'];)

注意:此限制实际上是将 session 写入磁盘时使用的“序列化处理程序”的一部分,这就是错误没有上下文的原因(它们在 PHP 关闭时触发)。在当前版本的 PHP 中有一个设置 session.serialize_handler没有这个限制:

php_serialize is available from PHP 5.5.4. php_serialize uses plain serialize/unserialize function internally and does not have limitations that php and php_binary have. Older serialize handlers cannot store numeric index nor string index contains special characters (| and !) in $_SESSION. Use php_serialize to avoid numeric index or special character errors at script shutdown.

关于php - 通知 : Unknown: Skipping numeric key 1 in Unknown on line 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18797251/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com