2014-02-20 52 views
0

我试图将MySQL选择的输出写入变量。问题是我得到错误“数组到字符串转换”。“将数组写入字符串”同时将MySQL输出写入变量

$user = mysql_query("select username from user"); 
echo "<table border='1'>"; 
if (isset($_POST['winneron'])) { 
    echo "<tr>"; 
    while ($printuser = mysql_fetch_array($user)) { 
     echo "<th align='center'>". $printuser['username'] . "</th>"; 
    } 
    echo "</tr>"; 
    $user = mysql_query("select username from user"); 
    while ($printuser = mysql_fetch_array($user)) { 
     $games = mysql_query("SELECT s.spielid, date, team1, team2, sieger, wettid, u.userid, w.spielid, team 
           FROM user u, spiele s, wette w 
           WHERE u.userid = w.userid 
           AND u.username = '$printuser' 
           AND w.spielid = s.spielid"); <-- Error line 
     while ($printgames = mysql_fetch_array($games)) { 
      if ($printgames['sieger'] == $printgames['team1']) { 
       echo "<tr><td align='center'><b>". strtoupper($printgames['sieger']) . "</b></td></tr>";  
      } 
      else { 
       echo "<tr><td align='center'>". strtoupper($printgames['sieger']) . "</td></tr>"; 
      } 
     } 
    } 
} 
+0

什么问题更换呢? – Dev

+0

在哪一行?请注意,如果您尝试从相同的$用户获取两次,下次可能会得到一个空数组 – Fallen

+0

编辑代码使其更易于阅读。 已经认为$ user在第一次读取后可能是空的,所以我在while循环之后再次添加了它。 – ProfGhost

回答

2

AND u.username = '$printuser'AND u.username = '".$printuser['username']."'

+0

实际上解决了它。谢谢。 – ProfGhost

2

$printuser是一个数组,你使用它像一个字符串