所以我创建了这个应该使用mysqli_fetch_array
和mysqli_query
获取数组的脚本,它一切正常,没有错误显示,但是在我改变了一些东西后,使用另一个函数,例如,如果我改变心情,昵称或其他,它会显示错误
Warning: join(): Invalid arguments passed in Main.php on line 526
我一直试图使用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的朋友,他们也无法给我一个解决方案。
答案 0 :(得分:0)
数组的一个或多个元素不是字符串。在查询中投射违规字段,或首先通过strval()
传递所有字段。
答案 1 :(得分:0)
如果PHP函数抱怨输入参数,那么验证这些参数是个好主意。所以,添加
var_dump($info);
到您的代码很可能会输出(bool)false
这让我们相信SQL查询没有返回任何行,因此是时候调试查询了。
希望有所帮助
答案 2 :(得分:-1)