7
votes

Mettre des données SQL dans la table HTML

J'essaie d'obtenir les données de ma base de données MySQL et de les mettre dans une table HTML. Après avoir cherché beaucoup sur Internet, mais je ne trouve pas de code qui a fonctionné pour moi.

Actuellement, j'ai ce code xxx

la seule chose que je reçois est la première rangée de ma table (Naam-Gemeente-Datum). Est-ce que je fais quelque chose de mal ou ai-je oublié quelque chose?


12 commentaires

1. Utilisez mysql_error () pour vérifier, s'il ya eu des problèmes avec votre requête. 2. Les fonctions MYSQL _ sont obsolètes. Vous devez passer à PDO ou mysqli .


1. Qu'est-ce que vous faites avec la DB non vraiment en sécurité, essayez d'inclure la connexion de la base de données. 2. Vous avez une faute de frappe à Datumfuif -> & Row. 3. Êtes-vous sûr que le dB est rempli?


Vous utilisez API Obsolète et doit utiliser un Remplacement moderne .


Vous voudrez peut-être utiliser un signe $ .


@Sirko Je n'ai aucune erreur après incluse MySQL_Error (). Je cherche à passer à PDO.


Remplacez ! Db_select avec ! $ Db_select . Remplacez et ligne avec $ ligne .


@Jonathanromer Comment puis-je inclure la base de données? La faute de frappe est fixe, mais cela n'a pas résolu mon problème. Et je suis sûr que mon dB est rempli.


Je pense qu'il est préférable de vérifier d'autres tutoriels, qui donnent une explication étape par étape. Parce que si je vous donne la réponse, je suis sûr que vous rencontrerez une autre probbln dans 5 minutes.


Aussi pour voir ces erreurs de syntaxe dans le navigateur, activez error_rporting (e_all); sur la version du code de développement (Supprimer la version de production, comme étant également votre déclaration Die , qui n'aide pas l'utilisateur du site).


Où est $ dbname et $ db défini?


Qu'est-ce que mysql_num_rows ($ résultats) vous dire?


J'ai ajouté un exemple de Pastebin de travail comme un commentaire à ma réponse.


3 Réponses :


2
votes

Les fonctions MySQL_ sont obsolètes, mais si vous souhaitez les utiliser, je suggère ces corrections:

Vous pouvez corriger votre code de cette façon: Le MySQL Connect est nécessaire: p>

         <?php
         mysql_connect("localhost","root","root");     
         mysql_select_db("databaseName") or die;
            $results = mysql_query("SELECT * FROM tblfuiven");
            $numrows=mysql_num_rows($queryResult);
           while($row = mysql_fetch_assoc($queryResult)) {
            ?>
                <tr>
                    <td><?php echo $numrows ?></td>
                    <td><?php echo $row['NaamFuif']?></td>
                    <td><?php echo $row['GemeenteFuif']?></td>
                    <td><?php echo $row['DatumFuif']?></td>
                </tr>

            <?php
           }
           ?>


7 commentaires

Après avoir ajouté votre code, cela ne fonctionne toujours pas. Code actuel -> Pastebin.com/P7J4RZEK


@Matt dans ma réponse il y a une question. Puis-je connaître la valeur de $ numrs?


@Matt in mysql_connet vous avez utilisé $ dbhost, etc., dans les citations. Écrivez directement la chaîne dans les citations, par exemple "localhost" au lieu de "$ dbhost"


Lorsque j'échoue quelque chose, je ne reçois pas de sortie (exemple: echo 'Hello World "). Même après avoir écrit directement la chaîne, j'ai les mêmes résultats.


@Matt alors probablement vos paramètres php.ini sont différents de l'habitude


@Matt, ajoutez la ligne proches des 3 autres TD et regardez la sortie sur la page Web.


@Matt utilise ce Pastebin.com/jmuecfggh et écrire le nom d'utilisateur correct, le mot de passe et le nom de la base de données. Pourquoi utilisez-vous des variables que vous n'avez pas déclarées?



4
votes

Tout d'abord, la chose la plus importante à garder à l'esprit est la suivante:

vous utilisez du code obsolète et non sécurisé

le Les fonctions MySQL_ sont fortement découragées , pour diverses raisons:

  • sont obsolètes et seront supprimés dans les versions futures de PHP,
  • ne sont pas sécurisés menant à d'éventuelles injections SQL,
  • manque de nombreuses fonctionnalités présentes dans des versions plus actuelles de PHP

    Voir la question liée à beaucoup d'explications plus approfondies.

    Maintenant, au code lui-même:

    Vous n'êtes pas en utilisant mysql_connect pour se connecter au serveur

    , vous devez utiliser mysql_connect pour spécifier le serveur, le nom d'utilisateur et le mot de passe qui seront utilisés pour accéder aux données dans la base de données. À partir de votre code, il semble que était supposé être présent, car il y a une variable $ dB utilisé dans la fonction mysql_connect la fonction, mais pas correctement initialisé ni utilisé à nouveau ailleurs.

    Vous devez utiliser mysql_connect d'une manière similaire à celle-ci: xxx

    (Don ' t oubliez de définir votre nom d'utilisateur et votre mot de passe!)

    Vous utilisez mysql_select_db deux fois dans la ligne: xxx

    suivi de

    mysql_select_db ("base de donnéesheko");

    1. NOTEZ le dbname et $ dB variables, vous ne les avez pas sur votre code, cette fonction ne fonctionnera pas comme ceci.
    2. Le second mysql_select_db écrase le premier, mais vous ne spécifiez pas une connexion de serveur à utiliser.

      Vous devez utiliser la première version, mais vous devez utiliser mysql_connect avant.

      Vous avez des fautes de frappe dans votre code
      • si (! db_select) { doit être si (! $ db_select) {
      • echo & ligne ['datumfuif'] devrait être echo $ ligne ['datumfuif']


0 commentaires

0
votes

Votre problème est dans la déclaration PHP Echo. Il manque ";".


0 commentaires