-1

所以我制作了这个脚本,它应该使用它来获取一个数组mysqli_fetch_arraymysqli_query它一切正常,没有出现错误,但是在我改变一些东西之后,使用另一个函数,例如,如果我改变心情、昵称或其他什么,它会显示一个错误

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

我一直在尝试使用 a 来解决这个问题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的朋友,他们也无法给我解决方案。

4

3 回答 3

0

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

于 2013-08-22T08:09:04.160 回答
0

这是关于基本调试的课程:

如果 PHP 函数抱怨输入参数,最好验证这些参数。所以,添加

var_dump($info);

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

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

希望能帮助到你

于 2013-08-22T08:31:51.560 回答
-1

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

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

也许这将是你的问题

于 2013-08-22T08:23:28.913 回答