Php 注意:中的数组到字符串转换

Php 注意:中的数组到字符串转换,php,mysql,sql-server,arrays,select,Php,Mysql,Sql Server,Arrays,Select,我试图从数据库中选择一个值,并使用select将其显示给用户。然而,我不断地得到这个错误: Notice: Array to string conversion in (pathname) on line 36. 我以为@mysql\u fetch\u assoc;我会解决这个问题,但我仍然收到通知。这是代码中出现错误的部分: { $loggedin = 1; $get = @mysql_query("SELECT money FROM players WHERE usernam

我试图从数据库中选择一个值,并使用select将其显示给用户。然而,我不断地得到这个错误:

Notice: Array to string conversion in (pathname) on line 36.
我以为@mysql\u fetch\u assoc;我会解决这个问题,但我仍然收到通知。这是代码中出现错误的部分:

  {
  $loggedin = 1;

  $get = @mysql_query("SELECT money FROM players WHERE username = 
 '$_SESSION[username]'");
  $money = @mysql_fetch_assoc($get);

  echo '<p id= "status">'.$_SESSION['username'].'<br>
  Money: '.$money.'.
  </p>';
  }

我做错了什么?我对PHP非常陌生。

问题是$money是一个数组,您将其视为字符串或可以轻松转换为字符串的变量。你应该这样说:

 '.... Money:'.$money['money']

将$_SESSION['username']的值存储到变量中,例如$username

$username=$_SESSION['username'];

$get = @mysql_query("SELECT money FROM players WHERE username = 
 '$username'");
它应该有用

更简单:

$get = @mysql_query("SELECT money FROM players WHERE username = '" . $_SESSION['username'] . "'");

请注意$\u会话参考中用户名周围的引号。

mysql\u fetch\u assoc返回一个数组,因此您无法回送数组,需要打印\r或其他特定字符串$money['money']。

您无法回送数组。 必须改用打印

<?php
$result = $conn->query("Select * from tbl");
$row = $result->fetch_assoc();
print_r ($row);
?>

您将收到此通知的原因之一是:在…中进行数组到字符串的转换是因为您正在组合一组数组。例如,整理出几个名字和姓氏

要正确地回显数组元素,可以使用函数“内爆分离器”和“数组” 例如:

结果:

first name[1], last name[1]
first name[2], last name[2]

更多的例子来自。

正如Razvan指出的,您正在尝试回显一个数组。这样不行。试着运行print\r$money;查看数组包含的内容。您正在从数据库中将结果集检索到$money中。您如何直接回显它,它是一个数组。为什么不使用循环遍历数组并在循环中回显所需的字段呢?当我使用print_r时,它会打印资源Id 4。@Sunden:将其放入类似这样的循环中,$money=@mysql_fetch_assoc$get{echo$money['money'];}@Lion这非常有效,谢谢。这样就不用通知了,但是回音中没有显示货币价值,只是空白。为了记录在案,在下面的评论中,问题OP告诉我们这是一种资源。然后,解决方案是迭代资源。在这个公认的答案中,对资源的密钥访问可能不起作用。所以这个答案$money是数组是错误的:-最后我明白我在哪里做了一个类型,关于如何使用数组的好建议;
first name[1], last name[1]
first name[2], last name[2]