Hallo,

Ik ben bezig met een site waarop ik accounts wil hebben.
De accounts werken, maar ik zou graag alle Gebruikersnamen willen opvragen uit de database om het vervolgens te laten zien.

Ik heb tot nu toe dit:

<table border="1" cellpadding="3">
<tr>
        <strong>
		<th>Username:</th>
	</strong>
</tr>
			
<?php
$query = "SELECT * FROM Accounts";
$resultaat = mysql_query($query);
while ($row = mysql_fetch_array($resultaat))
        {
?>
                <tr>
		        <td><?php echo $row["Gebruikersnaam"]; ?></td>
		        <td align="right"><?php echo $row["Emailadres"]; ?></td>
		</tr>
<?php	
	}
?>
</table>


Alvast bedankt voor de reacties!

Mvg,
Stan Peters
phpMyAdmin is niets meer dan een zeer uitgebreid script om je MySQL-databases mee te beheren (alhoewel ik het zelf belabberd vind werken). Je wilt dus geen koppeling met phpMyAdmin, maar met MySQL.

Wat je mist is een connectie met MySQL:
http://php.net/mysql_connect
http://php.net/mysql_select_db

Let overigens op dat je goede foutafhandeling gebruikt op je queries, en dat je het beste de overstap moet wagen naar de MySQLi-functies of PDO. De mysql_*() functies zullen namelijk voer enige tijd gaan vervallen in PHP.
- Aar - op 16/01/2014 20:16:40

phpMyAdmin is niets meer dan een zeer uitgebreid script om je MySQL-databases mee te beheren (alhoewel ik het zelf belabberd vind werken). Je wilt dus geen koppeling met phpMyAdmin, maar met MySQL.

Wat je mist is een connectie met MySQL:
http://php.net/mysql_connect
http://php.net/mysql_select_db

Let overigens op dat je goede foutafhandeling gebruikt op je queries, en dat je het beste de overstap moet wagen naar de MySQLi-functies of PDO. De mysql_*() functies zullen namelijk voer enige tijd gaan vervallen in PHP.


De connectie met mijn database klopt.
Mijn account stelsel werkt immers.
Ook op deze pagina laat ik hem verbinden met mijn database
Wat werkt er niet aan, wat gebeurt er?
Heb je al foutafhandeling toegepast?
Bestaan de velden wel (gebruik bij voorkeur nooit een * in een query)
- Aar - op 16/01/2014 20:24:07

Wat werkt er niet aan, wat gebeurt er?
Heb je al foutafhandeling toegepast?
Bestaan de velden wel (gebruik bij voorkeur nooit een * in een query)


Er komt op mijn site alleen een veld te staan met Username. Er wordt niks opgehaald.
Daarom... foutafhandeling toevoegen. Ook denk ik dat de velden niet bestaan. Ze zijn ook hoofdletter gevoelig
Controleren dus of $resultaat TRUE of FALSE is. FALSE > Foutmelding geven, TRUE > verder gaan.
Ook kun je na de controle op $resultaat, controleren met
if(mysql_num_rows($resultaat) > 0)
of er daadwerkelijk meer dan 0 resultaten zijn gevonden.
Gebruik geen hoofdletters in je database/query.
Gebruik geen *, maar vraag gewoon de velden op die je nodig hebt. Sneller en overzichtelijker.
een select-query zorgt dat mysql_query of mysqli_query ofwel een resultset teruggeeft (al dan niet leeg) of een boolean: false.

TRUE komt alleen terug bij een query die geen select-query uitvoert.


<?php
$query = "SELECT * FROM Accounts";
$resultaat = mysql_query($query);
if($resultaat === false)
{
  // er ging iets mis:
  echo 'ohjee, een fout<br>'. $sql . '<br>leverde de melding<br>'.mysql_error(); 
}
else
{
   if(mysql_num_rows($resultaat) > 0)
   {
      while( .... )
      {
      }
   }
   else 
   {
     // query is gelukt, maar er waren geen resultaten.
   }
?>

<?php
$select = "SELECT * FROM Accounts";
$sql    = mysql_query($select);

if($sql === false) {
     echo 'error: ' . mysql_error(); 
} else {
     if(mysql_num_rows($sql) != 0) {
          while($row = mysqli_fetch_array($select)) {
               // hier moet je alles echo'en dat doe je door echo $row['hier doe je de naam van de row']
          }
     } else {
          echo 'geen resultaten';
     }
}
?>

Reageren