-1

I want to fetch data from a mysql table using php. Please, can anyone tell me what is wrong with this code? What is the correct code to fetch data from a mysql database:

 <?php
    $dbhost = 'localhost';
    $dbuser = 'root';
    $dbpass = '';
    $connect=mysql_connect("localhost","root","");

    // connect to databsase 

    mysql_select_db("form1",);

        enter code here

    // query the database 

    $query = mysql_query("SELECT * FROM users WHERE name = 'Admin' ");

    // fetch the result / convert resulte in to array 

    while ($rows = mysql_fetch_array($query)):

       $rows = $rows['Name'];
       $address = $rows['Address'];
       $email = $rows['Email'];
       $subject = $rows['Subject'];
       $comment = $rows['Comment'];

       echo "$Name<br>$Address<br>$Email<br>$Subject<br>$Comment<br><br>";

       endwhile;

       ?>
4

10 に答える 10

6

phpの変数では、大文字と小文字が区別されます。whileループを次のように置き換えてください。

while ($rows = mysql_fetch_array($query)):

           $name = $rows['Name'];
           $address = $rows['Address'];
           $email = $rows['Email'];
           $subject = $rows['Subject'];
           $comment = $rows['Comment']

           echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>";

           endwhile;
于 2013-02-12T07:21:47.627 に答える
1

これを試して

<?php
// 1. Enter Database details
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'database name';

// 2. Create a database connection
$connection = mysql_connect($dbhost,$dbuser,$dbpass);
if (!$connection) {
    die("Database connection failed: " . mysql_error());
}

// 3. Select a database to use 
$db_select = mysql_select_db($dbname,$connection);
if (!$db_select) {
    die("Database selection failed: " . mysql_error());
}

$query = mysql_query("SELECT * FROM users WHERE name = 'Admin' ");

while ($rows = mysql_fetch_array($query)) { 
   $name = $rows['Name'];
   $address = $rows['Address'];
   $email = $rows['Email'];
   $subject = $rows['Subject'];
   $comment = $rows['Comment']

   echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>";      
} 

?>

未検証!!*更新しました!!

于 2013-02-12T07:39:22.277 に答える
1

「WHILE」を「while」に変更します。php は c/c++ のように大文字と小文字が区別されるためです。

于 2016-05-12T03:12:15.953 に答える
0
<table border="1px">

    <tr>
        <th>Student Name</th>
        <th>Email</th>
        <th>password</th>
    </tr>

        <?php

            If(mysql_num_rows($result)>0)
            {
                while($rows=mysql_fetch_array($result))
                {  

        ?>
    <?php echo "<tr>";?>
                    <td><?php echo $rows['userName'];?> </td>
                    <td><?php echo $rows['email'];?></td>
                    <td><?php echo $rows['password'];?></td>

    <?php echo "</tr>";?>
        <?php
                }
            }

    ?>
</table>
    <?php
        }
    ?>
于 2016-10-21T05:11:56.893 に答える
0

これがあなたが持っているコードである場合、ループ内で $row を再割り当てしているため、結果を反復処理できないため、エラーが発生します。交換

$rows = $rows['Name'];

$name = $rows['Name']'

したがって、コードは次のようになります

WHILE ($rows = mysql_fetch_array($query)):

   $name = $rows['Name'];
   $address = $rows['Address'];
   $email = $rows['Email'];
   $subject = $rows['Subject'];
   $comment = $rows['Comment'];

また、テーブル users の列名は、名前、住所、電子メールではなく、名前、住所、電子メールなどであると想定しています。すべての変数名/フィールド名は大文字と小文字が区別されることに注意してください。

于 2013-04-25T04:24:11.583 に答える
0

構文が間違っています...正しいコーディングは次のとおりです。

 <?php
mysql_connect("localhost","root","");
mysql_select_db("form1");
$query = mysql_query("SELECT * FROM users WHERE name = 'Admin' ");
while($rows = mysql_fetch_array($query))
{

   $rows = $rows['Name'];
   $address = $rows['Address'];
   $email = $rows['Email'];
   $subject = $rows['Subject'];
   $comment = $rows['Comment']
   echo $rows.'</br>'.$address.'</br>'.$email.'</br>'.$subject.'</br>'.$comment;
}
   ?>
于 2013-12-12T10:10:22.660 に答える
0
  1. 識別子 mysql_select_db("form1",$connect) を持つデータベースを選択します。

  2. 構文エラーが発生していますか? 入れてください; $comment = $rows['Comment'] の隣。

  3. また、変数はここで大文字と小文字を区別する必要があります

于 2013-02-12T07:26:12.437 に答える
-1

試す

$query = mysql_query("SELECT * FROM users WHERE name = 'Admin' ")or die(mysql_error());

これがエラーをスローするかどうかを確認します。

次に、while($rows = mysql_fetch_assoc($query)):

そして最後にそれを次のように表示します

echo $name . "<br/>" . $address . "<br/>" . $email . "<br/>" . $subject . "<br/>" . $comment . "<br/><br/>" . ;

mysql_*非推奨として使用しないでください。

于 2013-02-12T07:20:03.477 に答える
-1

このコードを使用してください

  while ($rows = mysql_fetch_array($query)):

   $name = $rows['Name'];
   $address = $rows['Address'];
   $email = $rows['Email'];
   $subject = $rows['Subject'];
   $comment = $rows['Comment'];

   echo "$name<br>$address<br>$email<br>$subject<br>$comment<br><br>";

   endwhile;

   ?>
于 2013-02-12T07:23:10.820 に答える