[PHP / MySQL] problème
LeHigh
-
Dr Zoidberg Messages postés 547 Statut Membre -
Dr Zoidberg Messages postés 547 Statut Membre -
Bonjour,
Dans l'entreprise ou je suis en stage, ils ont migré leur site web de gestion du parc informatique sur un autre serveur.
Sur le 1er tout marche évidemment niquel, mais sur le second, il y a des bugs, c'est à dire que les requêtes ne fonctionnement plus, lorsque je fait une recherche, ça renvoie tout les résultats contenus dans la BDD (pas d'erreur SQL ni rien ...).
Du 1er au second serveur, les versions de phpMyAdmin et de MySQL ont été mises à jour, ca pourrait venir de la ?
Dans l'entreprise ou je suis en stage, ils ont migré leur site web de gestion du parc informatique sur un autre serveur.
Sur le 1er tout marche évidemment niquel, mais sur le second, il y a des bugs, c'est à dire que les requêtes ne fonctionnement plus, lorsque je fait une recherche, ça renvoie tout les résultats contenus dans la BDD (pas d'erreur SQL ni rien ...).
Du 1er au second serveur, les versions de phpMyAdmin et de MySQL ont été mises à jour, ca pourrait venir de la ?
A voir également:
- [PHP / MySQL] problème
- Easy php - Télécharger - Divers Web & Internet
- Mysql community download - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Php alert - Forum PHP
- Retour a la ligne php - Forum Webmastering
6 réponses
Salut,
Je ne vois pas le rapport avec phpmysqlmyadmin, mais avec mySQL pourquoi pas, mais difficile de répondre comme ca, on manque de détails:
- L'application, c'est une appli développée en interne, en quel langage ? as t il été mis à jour aussi ?
- Mysql a été migré de quelle version vers quelle version ?
- Est il possible d'avoir un exemple de requête passée à la bd (si l'appli a été développée)
Je ne vois pas le rapport avec phpmysqlmyadmin, mais avec mySQL pourquoi pas, mais difficile de répondre comme ca, on manque de détails:
- L'application, c'est une appli développée en interne, en quel langage ? as t il été mis à jour aussi ?
- Mysql a été migré de quelle version vers quelle version ?
- Est il possible d'avoir un exemple de requête passée à la bd (si l'appli a été développée)
L'appli c'est un site web, donc PHP, CSS etc ...
MySQL a été migré de la version 4.0.17 à la 5.0.24 (sur un serveur linux)
pour un exemple de requete voila:
$req = "SELECT * FROM micro WHERE ref_m=".$select;
$result = mysql_query($req);
while ($ligne = mysql_fetch_array($result)) {
$ref_m = $ligne[0];
$num_m = $ligne[1];
$serv = '<b>'.$ligne[2].'</b>';
$unit = '<b>'.$ligne[3].'</b>';
$nom = '<b>'.$ligne[4].'</b>';
$res = '<b>'.$ligne[5].'</b>';
$com = '<b>'.$ligne[6].'</b>';
$ref_uc = $ligne[7];
$ref_e = $ligne[8];
$ref_ip = $ligne[9];
$ref_p1 = $ligne[10];
$ref_p2 = $ligne[11];
$materiel = '<b>'.$ligne[12].'</b>';
$ghost = '<b>'.$ligne[13].'</b>';
$d_ghost = '<b>'.$ligne[14].'</b>';
}
c'est censé filtrer les résultats, sauf que ça affiche tout :/, mais ca marche sur le serveur windows
merci :)
MySQL a été migré de la version 4.0.17 à la 5.0.24 (sur un serveur linux)
pour un exemple de requete voila:
$req = "SELECT * FROM micro WHERE ref_m=".$select;
$result = mysql_query($req);
while ($ligne = mysql_fetch_array($result)) {
$ref_m = $ligne[0];
$num_m = $ligne[1];
$serv = '<b>'.$ligne[2].'</b>';
$unit = '<b>'.$ligne[3].'</b>';
$nom = '<b>'.$ligne[4].'</b>';
$res = '<b>'.$ligne[5].'</b>';
$com = '<b>'.$ligne[6].'</b>';
$ref_uc = $ligne[7];
$ref_e = $ligne[8];
$ref_ip = $ligne[9];
$ref_p1 = $ligne[10];
$ref_p2 = $ligne[11];
$materiel = '<b>'.$ligne[12].'</b>';
$ghost = '<b>'.$ligne[13].'</b>';
$d_ghost = '<b>'.$ligne[14].'</b>';
}
c'est censé filtrer les résultats, sauf que ça affiche tout :/, mais ca marche sur le serveur windows
merci :)
Bonjour.
Dans le doute, quand on fait des requetes de type select, il faut veiller à encadrer ce qui se trouve après un = entre ' ' . Ce qui donnerais pour ta requete:
Avec ça, sa devrait être un tantinet mieux.
Dans le doute, quand on fait des requetes de type select, il faut veiller à encadrer ce qui se trouve après un = entre ' ' . Ce qui donnerais pour ta requete:
$req = "SELECT * FROM micro WHERE ref_m='$select'";
Avec ça, sa devrait être un tantinet mieux.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en fait j'ai noober sur le coup, comme c'est pas mon code je me suis planté de fichier :D
le code:
if ($idconnect) {
$ok = false;
$ip = false;
$name = $nom_util;
if ($num_uc != "")
{
$num_uc = "AND micro.num_uc LIKE '%".$num_uc."%' "; $ok = true;
}
if ($garantie_uc != "") { $garantie_uc = "AND uc.garantie_uc LIKE '".$garantie_uc."' "; $ok = true; }
if ($marque_uc != "") { $marque_uc = "AND uc.marque_uc LIKE '".$marque_uc."' "; $ok = true; }
if ($date_ach_uc != "") { $date_ach_uc = "AND uc.date_ach_uc LIKE '".$date_ach_uc."' "; $ok = true; }
if ($type_uc != "") { $type_uc = "AND uc.type_uc LIKE '".$type_uc."' "; $ok = true; }
if ($date_affect_uc != "") { $date_affect_uc = "AND uc.date_affect_uc LIKE '".$date_affect_uc."' "; $ok = true; }
if ($num_inv_uc != "") { $num_inv_uc = "AND uc.num_inv_uc LIKE '".$num_inv_uc."' "; $ok = true; }
if ($num_serie_uc != "") { $num_serie_uc = "AND uc.num_serie_uc LIKE '".$num_serie_uc."' "; $ok = true; }
if ($materiel != "") { $materiel = "AND micro.materiel LIKE '".$materiel."' "; $ok = true; }
if ($nom_util != "") { $nom_user = "AND micro.nom_util LIKE '%".$nom_util."%'"; $ok = true; }
if ($service != "") { $service = "AND micro.service LIKE '".$service."' "; $ok = true; }
if ($unite != "") { $unite = "AND micro.unite LIKE '".$unite."' "; $ok = true; }
if ($marque_ecran != "") { $marque_ecran = "AND ecran.marque_ecran LIKE '".$marque_ecran."' "; $ok = true; $ecr = true; }
if ($garantie_ecran != "") { $garantie_ecran = "AND ecran.garantie_ecran LIKE '".$garantie_ecran."' "; $ok = true; $ecr = true; }
if ($type_ecran != "") { $type_ecran = "AND ecran.type_ecran = '".$type_ecran."' "; $ok = true; $ecr = true; }
if ($date_ach_ecran != "") { $date_ach_ecran = "AND ecran.date_ach_ecran LIKE '".$date_ach_ecran."' "; $ok = true; $ecr = true; }
if ($num_inv_ecran != "") { $num_inv_ecran = "AND ecran.num_inv_ecran LIKE '".$num_inv_ecran."' "; $ok = true; $ecr = true; }
if ($date_affect_ecran != "") { $date_affect_ecran = "AND ecran.date_affect_ecran LIKE '".$date_affect_ecran."' "; $ok = true; $ecr = true; }
if ($num_serie_ecran != "") { $num_serie_ecran = "AND ecran.num_serie_ecran LIKE '".$num_serie_ecran."' "; $ok = true; $ecr = true; }
if ($cpu != "") { $cpu = "AND uc.cpu LIKE '".$cpu."' "; $ok = true; }
if ($cad_cpu != "") { $cad_cpu = "AND uc.cad_cpu LIKE '".$cad_cpu."' "; $ok = true; }
if ($ram != "") { $ram = "AND uc.ram LIKE '".$ram."' "; $ok = true; }
if ($dram != "") { $dram = "AND uc.dram_uc LIKE '".$dram."' "; $ok = true; }
if ($dd != "") { $dd = "AND uc.dd LIKE '".$dd."' "; $ok = true; }
if ($se != "") { $se = "AND uc.se LIKE '".$se."' "; $ok = true; }
if ($lecteur != "") { $lecteur = "AND uc.lecteur LIKE '".$lecteur."' "; $ok = true; }
if ($dao != "") { $dao = "AND uc.dao LIKE '".$dao."' "; $ok = true; }
if ($adr_ip != "") { $adr_ip = "AND ip.ip LIKE '".$adr_ip."' "; $ok = true; $ip=true; }
if ($dns != "") { $dns = "AND ip.dns LIKE '".$dns."' "; $ok = true; $ip=true; }
if ($masque != "") { $masque = "AND ip.masque LIKE '".$masque."' "; $ok = true; $ip=true; }
if ($wins != "") { $wins = "AND ip.wins LIKE '".$wins."' "; $ok = true; $ip=true; }
if ($passerelle != "") { $passerelle = "AND ip.passerelle LIKE '".$passerelle."' "; $ok = true; $ip=true; }
if ($date_d = "") { $date_d = "%"; }
if ($date_f = "") { $date_f = "%"; }
if ($ok == true ) { // Si au moins un des critères a été renseigné
$req = "SELECT * FROM micro, uc "; // Création de la requête avec les table micro, uc et ecran
if ($ip == true) { // Ajout de la table IP dans la requête
$req .= ", ip ";
}
if ($ecr == true) {
$req .= ", ecran ";
}
$req .= "WHERE micro.ref_uc = uc.ref_uc "; // Jointures
if ($ip == true) { // Ajout des champs IP, DNS, PSRL, DNS et WINS de la table IP dans la requête + jointure avec la table IP
$req .= "AND micro.ref_ip = ip.ref_ip ";
$req .= $adr_ip." ";
$req .= $masque." ";
$req .= $passerelle." ";
$req .= $dns." ";
$req .= $wins." ";
}
if ($ecr == true) {
$req .= "AND micro.ref_ecran = ecran.ref_ecran ";
$req .= $marque_ecran." ";
$req .= $type_ecran." ";
$req .= $garantie_ecran." ";
$req .= $num_inv_ecran." ";
$req .= $num_serie_ecran." ";
$req .= $date_ach_ecran." ";
$req .= $date_affect_ecran." ";
}
$req .= $num_uc." ";
$req .= $nom_user." ";
$req .= $service." ";
$req .= $unite." ";
$req .= $materiel." ";
$req .= $marque_uc." ";
$req .= $type_uc." ";
$req .= $num_inv_uc." ";
$req .= $num_serie_uc." ";
$req .= $date_ach_uc." ";
$req .= $date_affect_uc." ";
$req .= $garantie_uc." ";
$req .= $cpu." ";
$req .= $cad_cpu." ";
$req .= $dd." ";
$req .= $ram." ";
$req .= $dram." ";
$req .= $lecteur." ";
$req .= $se." ";
$req .= $dao." ";
$req .= "ORDER BY micro.num_uc";
} else { // Sinon, sélection de l'ensemble des micros
$req = "SELECT * FROM micro, uc WHERE micro.ref_uc = uc.ref_uc ORDER BY num_uc";
}
mais je pense pas que ça vienne du code, puisque lors du changement de serveur, ils ont juste fait un copié collé, et le site marche niquel sur le serveur windows, peut être que Linux aime pas certains trucs ?
le code:
if ($idconnect) {
$ok = false;
$ip = false;
$name = $nom_util;
if ($num_uc != "")
{
$num_uc = "AND micro.num_uc LIKE '%".$num_uc."%' "; $ok = true;
}
if ($garantie_uc != "") { $garantie_uc = "AND uc.garantie_uc LIKE '".$garantie_uc."' "; $ok = true; }
if ($marque_uc != "") { $marque_uc = "AND uc.marque_uc LIKE '".$marque_uc."' "; $ok = true; }
if ($date_ach_uc != "") { $date_ach_uc = "AND uc.date_ach_uc LIKE '".$date_ach_uc."' "; $ok = true; }
if ($type_uc != "") { $type_uc = "AND uc.type_uc LIKE '".$type_uc."' "; $ok = true; }
if ($date_affect_uc != "") { $date_affect_uc = "AND uc.date_affect_uc LIKE '".$date_affect_uc."' "; $ok = true; }
if ($num_inv_uc != "") { $num_inv_uc = "AND uc.num_inv_uc LIKE '".$num_inv_uc."' "; $ok = true; }
if ($num_serie_uc != "") { $num_serie_uc = "AND uc.num_serie_uc LIKE '".$num_serie_uc."' "; $ok = true; }
if ($materiel != "") { $materiel = "AND micro.materiel LIKE '".$materiel."' "; $ok = true; }
if ($nom_util != "") { $nom_user = "AND micro.nom_util LIKE '%".$nom_util."%'"; $ok = true; }
if ($service != "") { $service = "AND micro.service LIKE '".$service."' "; $ok = true; }
if ($unite != "") { $unite = "AND micro.unite LIKE '".$unite."' "; $ok = true; }
if ($marque_ecran != "") { $marque_ecran = "AND ecran.marque_ecran LIKE '".$marque_ecran."' "; $ok = true; $ecr = true; }
if ($garantie_ecran != "") { $garantie_ecran = "AND ecran.garantie_ecran LIKE '".$garantie_ecran."' "; $ok = true; $ecr = true; }
if ($type_ecran != "") { $type_ecran = "AND ecran.type_ecran = '".$type_ecran."' "; $ok = true; $ecr = true; }
if ($date_ach_ecran != "") { $date_ach_ecran = "AND ecran.date_ach_ecran LIKE '".$date_ach_ecran."' "; $ok = true; $ecr = true; }
if ($num_inv_ecran != "") { $num_inv_ecran = "AND ecran.num_inv_ecran LIKE '".$num_inv_ecran."' "; $ok = true; $ecr = true; }
if ($date_affect_ecran != "") { $date_affect_ecran = "AND ecran.date_affect_ecran LIKE '".$date_affect_ecran."' "; $ok = true; $ecr = true; }
if ($num_serie_ecran != "") { $num_serie_ecran = "AND ecran.num_serie_ecran LIKE '".$num_serie_ecran."' "; $ok = true; $ecr = true; }
if ($cpu != "") { $cpu = "AND uc.cpu LIKE '".$cpu."' "; $ok = true; }
if ($cad_cpu != "") { $cad_cpu = "AND uc.cad_cpu LIKE '".$cad_cpu."' "; $ok = true; }
if ($ram != "") { $ram = "AND uc.ram LIKE '".$ram."' "; $ok = true; }
if ($dram != "") { $dram = "AND uc.dram_uc LIKE '".$dram."' "; $ok = true; }
if ($dd != "") { $dd = "AND uc.dd LIKE '".$dd."' "; $ok = true; }
if ($se != "") { $se = "AND uc.se LIKE '".$se."' "; $ok = true; }
if ($lecteur != "") { $lecteur = "AND uc.lecteur LIKE '".$lecteur."' "; $ok = true; }
if ($dao != "") { $dao = "AND uc.dao LIKE '".$dao."' "; $ok = true; }
if ($adr_ip != "") { $adr_ip = "AND ip.ip LIKE '".$adr_ip."' "; $ok = true; $ip=true; }
if ($dns != "") { $dns = "AND ip.dns LIKE '".$dns."' "; $ok = true; $ip=true; }
if ($masque != "") { $masque = "AND ip.masque LIKE '".$masque."' "; $ok = true; $ip=true; }
if ($wins != "") { $wins = "AND ip.wins LIKE '".$wins."' "; $ok = true; $ip=true; }
if ($passerelle != "") { $passerelle = "AND ip.passerelle LIKE '".$passerelle."' "; $ok = true; $ip=true; }
if ($date_d = "") { $date_d = "%"; }
if ($date_f = "") { $date_f = "%"; }
if ($ok == true ) { // Si au moins un des critères a été renseigné
$req = "SELECT * FROM micro, uc "; // Création de la requête avec les table micro, uc et ecran
if ($ip == true) { // Ajout de la table IP dans la requête
$req .= ", ip ";
}
if ($ecr == true) {
$req .= ", ecran ";
}
$req .= "WHERE micro.ref_uc = uc.ref_uc "; // Jointures
if ($ip == true) { // Ajout des champs IP, DNS, PSRL, DNS et WINS de la table IP dans la requête + jointure avec la table IP
$req .= "AND micro.ref_ip = ip.ref_ip ";
$req .= $adr_ip." ";
$req .= $masque." ";
$req .= $passerelle." ";
$req .= $dns." ";
$req .= $wins." ";
}
if ($ecr == true) {
$req .= "AND micro.ref_ecran = ecran.ref_ecran ";
$req .= $marque_ecran." ";
$req .= $type_ecran." ";
$req .= $garantie_ecran." ";
$req .= $num_inv_ecran." ";
$req .= $num_serie_ecran." ";
$req .= $date_ach_ecran." ";
$req .= $date_affect_ecran." ";
}
$req .= $num_uc." ";
$req .= $nom_user." ";
$req .= $service." ";
$req .= $unite." ";
$req .= $materiel." ";
$req .= $marque_uc." ";
$req .= $type_uc." ";
$req .= $num_inv_uc." ";
$req .= $num_serie_uc." ";
$req .= $date_ach_uc." ";
$req .= $date_affect_uc." ";
$req .= $garantie_uc." ";
$req .= $cpu." ";
$req .= $cad_cpu." ";
$req .= $dd." ";
$req .= $ram." ";
$req .= $dram." ";
$req .= $lecteur." ";
$req .= $se." ";
$req .= $dao." ";
$req .= "ORDER BY micro.num_uc";
} else { // Sinon, sélection de l'ensemble des micros
$req = "SELECT * FROM micro, uc WHERE micro.ref_uc = uc.ref_uc ORDER BY num_uc";
}
mais je pense pas que ça vienne du code, puisque lors du changement de serveur, ils ont juste fait un copié collé, et le site marche niquel sur le serveur windows, peut être que Linux aime pas certains trucs ?