MySQL查询只获取表中的第一行,而不是所有行


MySQL query only fetching the first row instead of all the rows in the table

我试图在MySQL数据库中获取多行,但它只获取第一个条目!

$data = mysql_query("SELECT * FROM twitter_tbl") 
while($info = mysql_fetch_array($data)) 
    { 
            $desc = $info['description'];
            $screen_name1 = $info['screen_name'];
            $final_oauth_token = $info['final_oauth_token'];
            $final_oauth_token_secret = $info['final_oauth_token_secret'];
    );

所以我只得到一行,但我需要得到多行,因为每一行都有其唯一的screen_name和描述。

我不知道哪里出了问题。

正确的代码:

$data = mysql_query("SELECT * FROM twitter_tbl"); 
while($info = mysql_fetch_array($data)) 
    { 
           echo $desc = $info['description'];
           echo $screen_name1 = $info['screen_name'];
          echo  $final_oauth_token = $info['final_oauth_token'];
          echo  $final_oauth_token_secret = $info['final_oauth_token_secret'];
    }

While语句包含在{}而非{)中;

编辑:

$data = mysql_query("SELECT * FROM twitter_tbl") 
while($info = mysql_fetch_array($data)) 
{ 
        Echo $desc = $info['description'];
        Echo $screen_name1 = $info['screen_name'];
        Echo $final_oauth_token = $info['final_oauth_token'];
        Echo $final_oauth_token_secret = $info['final_oauth_token_secret'];
}

您只需将其放置在一个容器中,即可在网页上显示结果

试试这个:

       echo "<table>";
       $data = mysql_query("SELECT * FROM twitter_tbl");
       while($info = mysql_fetch_array($data)) 
       { 
          $desc = $info['description'];
          $screen_name1 = $info['screen_name'];
          $final_oauth_token = $info['final_oauth_token'];
          $final_oauth_token_secret = $info['final_oauth_token_secret'];
         echo "
         <tr>
            <td>".$desc."</td>
            <td>".$screen_name1."</td> 
            <td>".$final_oauth_token."</td>
            <td>".$final_oauth_token_secret."</td>
         </tr>";
         }
         echo "</table>";

将数据添加到数组中。你的目标是什么?(存储数据?回波?)

代码:

$data = mysql_query("SELECT * FROM twitter_tbl");

if($data && mysql_num_rows($data) > 0)
{
    while($info = mysql_fetch_array($data)) 
    { 
            $desc[$i] = $info['description'];
            $screen_name1[$i] = $info['screen_name'];
            $final_oauth_token[$i] = $info['final_oauth_token'];
            $final_oauth_token_secret[$i] = $info['final_oauth_token_secret'];
        ++$i;
    }
    unset($i, $info, $data);
}

或类似回声模式

代码:

$data = mysql_query("SELECT * FROM twitter_tbl");

if($data && mysql_num_rows($data) > 0)
{
    $x = "
<table>
   <tr>
      <th>
        desc
      </th>
      <th>
        screen_name
      </th>
      <th>
        oauth Token
      </th>
      <th>
        secret oauth Token
      </th>
   </tr>";

    //Warning it's eat a lot of memory
    while($info = mysql_fetch_array($data)) 
    { 

            $x .= "
   <tr>
      <td>
        {$info['description']}
      </td>
      <td>
        {$info['screen_name']}
      </td>
      <td>
        {$info['final_oauth_token']}
      </td>
      <td>
        {$info['final_oauth_token_secret']}
      </td>
   </tr>";
    }
    $x = "
</table>";
    echo $x;
    unset($info, $data, $x);
}