0
votes

Comment utiliser 'où' dans 'se joindre' requête SQL

J'essaie d'extraire des données de la table de demande, mais je n'ai besoin que d'une ligne de table spécifique. Donc, en normale, j'utilise où ("hospital_id ', $ hospital_id) code> mais j'utilise une requête de jointure pour le nom de l'utilisateur et le type de sang, alors quand j'essaie de mettre où code> Requête, il montre:

"Cette page ne fonctionne pas" Erreur HTTP 500. P> blockquote>

J'essaie de mettre où code> de toutes les autres voies comme: après de code>, après joindre code> mais le résultat était resté le même . p>

voici mon modèle: p> xxx pré>

voici mon contrôleur: p> xxx pré>

ici est MON VUE: P>

 <?php if(count($all_blood>0))
  { $i=0;
  foreach ($all_blood as $user) {
  $i++;
  ?>
  <tr>
  <td><?php echo $i ?></td>
  <td><?php echo $user->user_id ?></td>
    <td><?php echo $user->h_name ?></td>
  <td><?php echo $user->blood_id?></td>
  <td><?php echo $user->blood_type?></td>

  <?php }
  }?>


16 commentaires

Avez-vous consulté votre serveur Web WEGS si vous y avez accès, il devrait vous expliquer une erreur avec plus de détails


-> rejoindre ("sang", 'whood.id = demande.blood_id') on dirait qu'il manque un ; fin de la fin.So iam vote clôture de cette question à être une erreur typographique simple


@GregoieLucheme désolé je suis nouveau ici, pouvez-vous s'il vous plaît dire ce qui est 'ogs'?


@Raymondnijland -> obtenir après


Journaux de serveur * désolé pour la typo


Si remorque ou toutes les tables ont hospital_id - -> où ('demande.hospital_id', $ hospital_id) ?


Oh oui, même malheureusement, je n'ai pas remarqué -> get () -> résultat (); fait également partie de la chaîne de méthode. Closevote retiré à nouveau.


@RAYMONDNIJIJLAND N'EST PAS N'EST PAS NE FONCTIONNE PAS NE FONCTIONNE PAS NE PAS PAS THÉ; manquant, dans un autre code sa fonctionne bien sans;


Vous ne savez pas si c'est requis dans CodeDIGNITiter, mais placez-le dans la fonction sous les fonctions de jointure? L'où les fonctions entre Select et de la fonction sont un peu bizarres et suspectes.


@ splash58 désolé je ne comprends pas quoi essayez-vous de dire


Pour obtenir un message d'erreur approprié, essayez Stackoverflow.com/Questtions/5127838/...


@Raymondnijland J'essaie aussi de mettre là où après et de rejoindre la requête


@Sagarparikhsgr Si plus d'une tables dans la requête a le même champ, f.e. hospital_id, vous devriez explicitement dire le nom de la table dans la clause Where


Toujours un bon débogage sur les serveurs Webssers configurés pour montrer un Écran blanc de la mort à la place de l'affichage Erreurs d'analyse / Avis / Avertissements dont vous avez besoin lorsque vous développez que vous devez résoudre celui-ci d'abord .. Si vous ne pouvez pas vous réparer, il envisagez de contacter votre hébergement Web ou de vous déplacer dans un autre Webhosting.


@ splash58 merci son travail maintenant


Si @ SPLASH58 Suggestion a fait une nouvelle habitude de faire une nouvelle habitude si elle doit Toujours Utilisez des alias ou des noms de table entièrement quantifiés sur les colonnes de SQL .. sans connaître des structures de table, des erreurs et un écran blanc de la mort cette erreur Est difficile à taper, vous êtes chanceux Splash58 fait une supposition éduquée à ce sujet.


3 Réponses :


0
votes

Cette erreur de message pourrait provenir d'un autre morceau de code. Quoi qu'il en soit, vous pouvez essayer de déboguer votre requête avec xxx

avant -> get ()

d'autres informations https://www.codeigniter.com/userguide3/database/query_builder.html


2 commentaires

Je mets -> get_compiled_select () avant de le faire mais la page ne fonctionne toujours pas


Cela ne résoudra pas le problème. Il retournera la phrase entière que CI construit et vous pouvez regarder le regarder



0
votes

La page ne fonctionne pas car sa même nom du champ Plus d'une table, change simplement le nom du champ et son fonctionnement parfaitement. Il y a deux tables sang et demande, lorsque vous utilisez une requête de jointure, cela fonctionne parfaitement, mais que vous avez eu lieu lorsque vous avez appliqué «Où» condition. Les deux table ont le même champ de nom "hospital_id" alors "où" condition ne fonctionne pas et montre que "la page ne fonctionne pas". S'il vous plaît ne pas utiliser le même nom de champ dans différentes tables


1 commentaires

Veuillez développer cela. S'il y a une ligne spécifique, une variable ou une chaîne qui causent un problème, veuillez l'identifier et la raison pour laquelle il provoque un comportement involontaire. Comme votre réponse se tiendra maintenant, cela ne fournit pas beaucoup de valeur.



0
votes

Avez-vous essayé de placer le -> où (hospital_id ', $ hospital_id) après le -> rejoindre ( < / strong>? XXX

Continuez le bon travail!


0 commentaires