传递的join()参数无效



所以我制作了这个脚本,应该使用mysqli_fetch_arraymysqli_query获取数组,它运行良好,没有显示错误,但在我使用另一个函数更改某些内容后,例如,如果我更改了心情、昵称或其他什么,它会显示错误

Warning: join(): Invalid arguments passed in Main.php on line 526

Iv一直试图使用while loop解决这个问题,也发生了同样的事情

$info = mysqli_fetch_array(mysqli_query($con, "SELECT id, nickname, mood, credits, colour, curhead, curface, curneck, curbody, curhands, curfeet, curflag, curphoto, rank * 146 FROM `sync_users` WHERE id='" . mysqli_real_escape_string($con, $raw[5]) . "';"), MYSQLI_ASSOC);
$client->sendPacket("%xt%gp%-1%" . join("|", $info) . "%");
print str_replace('Array', '', print_r($info, true));

我试着问其他几个熟悉php的朋友,他们也无法给我一个解决方案。

数组的一个或多个元素不是字符串。要么强制转换查询中有问题的字段,要么先通过strval()传递所有字段。

下面是关于基本调试的课程:

如果PHP函数抱怨输入参数,那么验证这些参数是个好主意因此,添加

var_dump($info);

到您的代码将很可能输出(bool)false

这让我们相信SQL查询没有返回任何行,所以现在是调试查询的时候了。

希望它能帮助

首先,不要使用mysql_*函数,因为它们已被弃用,请尝试PDO,例如

我认为如果mysqli_fetch_array返回一个空的结果集,那么join将失败,因为mysqli返回一个FALSE

也许这将是你的问题

相关内容

最新更新