繁体   English   中英

php错误:注意:数组到字符串的转换

[英]php error : Notice: Array to string conversion

所以我的cms编码有问题。 它是用于跟踪特定人员的数据库。 我需要帮助,因为弹出错误提示“注意:第596行中的数组到字符串的转换”

templatev3.php(文件)的第596行

$m_query = mysql_query("SELECT * FROM mbrlist WHERE sid = '" . $f_squad . "'");

我怎样才能解决这个问题?

很明显$ f_squad值是一个数组,多数民众赞成在引起问题。 您正在使用. 运算符,它组合了2个字符串,但不是一个字符串数组(因为这种类型的东西是散装php)。

如何解决此问题的示例如下:

$foo = array("string1", "bob");

$m_query = mysql_query("SELECT * FROM mbrlist WHERE sid = '".$foo[1]."'");

我不知道您的数组实际上是什么样子,您需要自己弄清楚一个数字,但是在说[1]之后说应该将数组的第二个元素(字符串bob)与mysql查询结合起来。 如果您想将多个值实际放入此查询中,则始终可以使用for循环或其他方式遍历它们。

好像$f_squad是数组而不是字符串。

根据需要,可以使用implode转换数组

//string implode ( string $glue , array $pieces )
[...]" . implode('', $f_squad) . "[...]

或者只是使用第一项

[...]" . $f_squad[0] . "[...]

您遇到的错误应该是不言自明的。 您正在使用包含数组的变量$ f_squad。 您应该将该数组转换为字符串。 但是,由于它是一个数组,可能包含多个值,所以它取决于您希望代码如何工作。

由于您仅提供了一行代码,所以我怀疑有人会为您提供很多帮助。

如果只需要使用数组的第一个值查询数据库,并且数组的数字键从0开始,则可以执行以下操作

$m_query = mysql_query("SELECT * FROM mbrlist WHERE sid = '" . $f_squad[0] . "'");

或者,您可以使用您喜欢的数组的任何键。 但是请记住,这不是理想的解决方案。 您可能会有数组为空的实例,这将产生另一种类型的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM