传递的参数无效join()

时间:2013-08-22 08:07:10

标签: php join mysqli

所以我创建了这个应该使用mysqli_fetch_arraymysqli_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的朋友,他们也无法给我一个解决方案。

3 个答案:

答案 0 :(得分:0)

数组的一个或多个元素不是字符串。在查询中投射违规字段,或首先通过strval()传递所有字段。

答案 1 :(得分:0)

以下是基本调试课程:

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

var_dump($info);

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

这让我们相信SQL查询没有返回任何行,因此是时候调试查询了。

希望有所帮助

答案 2 :(得分:-1)

首先不使用mysql_ *函数,因为已弃用,请尝试PDO

我认为如果mysqli_fetch_array返回空结果集,则join将失败,因为mysqli返回FALSE

也许这将是你的问题