2013-02-12 4 views
0

Je veux récupérer des données d'une table mysql en utilisant php. S'il vous plaît, quelqu'un peut-il me le dire? Quel est le problème avec ce code? Quel est le bon code pour extraire des données à partir d'une base de données MySQL:comment puis-je récupérer des données de la base de données en php en utilisant mysql?

<?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; 

     ?> 
+0

ce qui est l'erreur que vous obtenez? – amitchhajer

+0

Vous utilisez [une ** API de base de données obsolète **] (http://stackoverflow.com/q/12859942/19068) et vous devriez utiliser un [remplacement moderne] (http://php.net/manual/fr/ mysqlinfo.api.choosing.php). – Quentin

+0

quelle raison de déclarer ces variables ci-dessus lorsque vous utilisez 'mysql_connect (" localhost "," root "," ");'? Et dites-nous le résultat que vous obtenez de ce code –

Répondre

0

Essayez

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

et vérifier si ce jet d'erreur.

Ensuite, utilisez while($rows = mysql_fetch_assoc($query)):

Et enfin l'afficher comme

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

Ne pas utilisateur mysql_* comme dépréciée.

4

Les variables en PHP sont sensibles à la casse. S'il vous plaît remplacer votre boucle while avec ce qui suit:

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; 
0

utiliser ce code

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; 

    ?> 
0
  1. Sélectionnez une base de données avec identifiant mysql_select_db ("form1", connectez $);

  2. Vous obtenez une erreur de syntaxe? S'il vous plaît mettre un; à côté de $ comment = $ rows ['Comment'].

  3. aussi les variables doivent être sensibles à la casse ici

1

Essayez cette

<?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>";  
} 

?> 

Non testé !! * MISE À JOUR !!

0

Si c'est le code que vous avez, alors vous obtiendrez une erreur parce que, vous êtes en train de réaffecter $ row alors que vous êtes dans la boucle, donc vous ne serez jamais capable d'itérer sur les résultats. Remplacer

$rows = $rows['Name']; 

avec

$name = $rows['Name']' 

donc votre code ressemblerait

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

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

Aussi je suppose que les noms de colonnes dans les utilisateurs de la table sont nom, adresse, courriel, etc. et pas de nom, adresse, email. Rappelez-vous que chaque nom de variable/nom de champ est sensible à la casse.

0

Votre syntaxe est erronée ... Le codage est correct:

<?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; 
} 
    ?> 
1

changer le "TOUT" à "tout". Parce que php est sensible à la casse comme c/C++.

0

code:

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; 
1
<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 
     } 
    ?> 
+1

Ajoutez une explication avec réponse pour savoir comment cette réponse aide OP à corriger le problème actuel –

Questions connexes