[PHP / MySQL] problème

Fermé
LeHigh - 11 mai 2009 à 11:42
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 - 12 mai 2009 à 09:43
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 ?
A voir également:

6 réponses

bizu53 Messages postés 1274 Date d'inscription samedi 30 août 2008 Statut Membre Dernière intervention 21 juin 2015 861
11 mai 2009 à 12:04
Ça se pourrait ouais.
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
11 mai 2009 à 12:11
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)
0
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 :)
0
LeHigh > LeHigh
11 mai 2009 à 21:52
up !
0
LeHigh > LeHigh
12 mai 2009 à 08:20
personne ne connait de solutions ?
0
P@t@ch0n Messages postés 565 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 28 décembre 2009 85
12 mai 2009 à 08:55
Que vaut $select ?
0
freto Messages postés 1543 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 162
12 mai 2009 à 09:04
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:
$req = "SELECT * FROM micro WHERE ref_m='$select'";

Avec ça, sa devrait être un tantinet mieux.
0

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 ?
0
Dr Zoidberg Messages postés 529 Date d'inscription jeudi 28 juin 2007 Statut Membre Dernière intervention 12 juin 2015 100
12 mai 2009 à 09:43
La version de PHP a t elle changée ? si oui le problème peut etre ici.

D'où viennent toutes les variables, comme $num_uc, $cpu ... ?

Pour tester, essai de rajouter
error_reporting(E_ALL);

tout au début de la page.
0