<?php
$db = mysql_connect('', 'root', '') or die ('Erreur de connexion ERREUR 100 '.mysql_error());
mysql_select_db('db202917875',$db) or die('Erreur de selection ERREUR 200 '.mysql_error());
$now = "0001";
$eow = "b2";
$id = "dofus";
//========>>DEBUT 01
$name_one = mysql_query("SELECT name FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 300 ' . mysql_error());
while($name_two = mysql_fetch_array($name_one))
{
var_dump($name_two);
$y1 = $name_two[0];
}
if($y1 == "")
{
mysql_query("INSERT INTO fenetre(name) VALUES ('$now')or die('Erreur : ERREUR 400 ' . mysql_error()");
//========>>DEBUT 02
$etat_one = mysql_query("SELECT etat FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 500 ' . mysql_error());
while($etat_two = mysql_fetch_array($etat_one))
{
var_dump($etat_two);
$y2 = $etat_two[0];
}
if($y2 == "")
{
mysql_query("UPDATE fenetre SET etat = '$eow' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 600 ' . mysql_error());
//========>>DEBUT 03
$id_one = mysql_query("SELECT id FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 700 ' . mysql_error());
while($id_two = mysql_fetch_array($id_one))
{
var_dump($id_two);
$y3 = $id_two[0];
}
if($y3 == "")
{
mysql_query("UPDATE fenetre SET id = '$id' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 800' . mysql_error());
}
//========>>FIN 03
}
//========>>FIN 02
}
//========>>FIN 01
mysql_close();
header('location:../index.php')
?>
En effet c'étair un vrai champ de mine...
while($name_two = mysql_fetch_array($name_one))
{
var_dump($name_two);
$y1 = $name_two[0];
}
if($y1 == "")
{
par cela :
if(mysql_fetch_array($name_one))
{
(idem pour les autres requètes).<?php
$db = mysql_connect('', 'root', '') or die ('Erreur de connexion ERREUR 100 '.mysql_error());
mysql_select_db('db202917875',$db) or die('Erreur de selection ERREUR 200 '.mysql_error());
$now = "0001";
$eow = "b2";
$id = "dofus";
//========>>DEBUT 01
$name_one = mysql_query("SELECT name FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 300 ' . mysql_error());
if(mysql_fetch_array($name_one))
{
mysql_query("INSERT INTO fenetre(name) VALUES ('$now')or die('Erreur : ERREUR 400 ' . mysql_error()");
//========>>DEBUT 02
$etat_one = mysql_query("SELECT etat FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 500 ' . mysql_error());
if(mysql_fetch_array($etat_one))
{
mysql_query("UPDATE fenetre SET etat = '$eow' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 600 ' . mysql_error());
//========>>DEBUT 03
$id_one = mysql_query("SELECT id FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 700 ' . mysql_error());
if(mysql_fetch_array($id_one))
{
mysql_query("UPDATE fenetre SET id = '$id' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 800' . mysql_error());
}
//========>>FIN 03
}
//========>>FIN 02
}
//========>>FIN 01
mysql_close();
header('location:../index.php')
?>
<?php
$db = mysql_connect('', 'root', '') or die ('Erreur de connexion ERREUR 100 '.mysql_error());
mysql_select_db('db202917875',$db) or die('Erreur de selection ERREUR 200 '.mysql_error());
$now = "0001";
$eow = "b2";
$id = "dofus";
//========>>
$name_one = mysql_query("SELECT name FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 300 ' . mysql_error());
if(mysql_fetch_array($name_one) != "0001")
{
mysql_query("INSERT INTO fenetre(name,etat,id) VALUES ('$now','$eow','$id')")or die('Erreur : ERREUR 400 ' . mysql_error());
}
//========>>
$etat_one = mysql_query("SELECT etat FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 500 ' . mysql_error());
if(mysql_fetch_array($etat_one) != "$eow")
{
mysql_query("UPDATE fenetre SET etat = '$eow' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 600 ' . mysql_error());
}
//========>>
$id_one = mysql_query("SELECT id FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 700 ' . mysql_error());
if(mysql_fetch_array($id_one) != "$id")
{
mysql_query("UPDATE fenetre SET id = '$id' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 800' . mysql_error());
}
//========>>
mysql_close();
echo"$name_one";
//header('location:../index.php')
?>
Ma question est pourquoi ?
En fait, je viens de me rendre compte de quelquechose, il n'est jamais trop tard, tu fais beaucoup trop de requètes inutiles. Tu pourrais n'en faire que 2, une select, une insert.
Pour préciser cela, j'aimerais une information, quand est ce que tu dois effectuer un INSERT très précisément ?
Code : Tout sélectionner
<-------------------------------------->
[........id........][...etat...][...name...]
<-------------------------------------->
[....jeanluc....][...b1.....][...0001....]
<-------------------------------------->
mysql_query("REPLACE INTO fenetre(name,etat,id) VALUES ('$now','$eow','$id')") or die('Erreur : ERREUR ' . mysql_error());
C'est simplement parce que mysql_query() retourne une ressource de résultat. Voir la référence : http://www.php.net/manual/fr/function.mysql-query.phpLa clé de cette réponsse est dans cette question :
Qu'est-ce que Resource id #3 ... Merci
Je suis en train de faire des recherches sur le web mais sans résultats pour l'instant...
Mais je remplace quoi par ça ^ ^ ^ ^ ^ ^mysql_query("REPLACE INTO fenetre(name,etat,id) VALUES ('$now','$eow','$id')") or die('Erreur : ERREUR ' . mysql_error());
Je vais expliquer toutes les erreurs de ton code, certaines dues à mes erreurs aussi :Voici mon tout dernier code...
Lorsque que je fait un echo de $name_one, et que je supprime la redirection final j'obtient...
Resource id #3
Ma question est pourquoi ?<?php $db = mysql_connect('', 'root', '') or die ('Erreur de connexion ERREUR 100 '.mysql_error()); mysql_select_db('db202917875',$db) or die('Erreur de selection ERREUR 200 '.mysql_error()); $now = "0001"; $eow = "b2"; $id = "dofus"; //========>> $name_one = mysql_query("SELECT name FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 300 ' . mysql_error()); if(mysql_fetch_array($name_one) != "0001") { mysql_query("INSERT INTO fenetre(name,etat,id) VALUES ('$now','$eow','$id')")or die('Erreur : ERREUR 400 ' . mysql_error()); } //========>> $etat_one = mysql_query("SELECT etat FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 500 ' . mysql_error()); if(mysql_fetch_array($etat_one) != "$eow") { mysql_query("UPDATE fenetre SET etat = '$eow' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 600 ' . mysql_error()); } //========>> $id_one = mysql_query("SELECT id FROM fenetre WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 700 ' . mysql_error()); if(mysql_fetch_array($id_one) != "$id") { mysql_query("UPDATE fenetre SET id = '$id' WHERE name = '$now' AND id = '$id'")or die('Erreur : ERREUR 800' . mysql_error()); } //========>> mysql_close(); echo"$name_one"; //header('location:../index.php') ?>
Merci
if(mysql_fetch_array($name_one) != "0001")
Ici, tu compares le résultat de mysql_fetch_array() à une chaine de caractères, or, selon la référence, mysql_fetch_array() renvoie un tableau. Pour ma part, j'avais mis :
if(mysql_fetch_array($name_one))
C'était une erreur du fait que tu ne cherchais pas à vérifier que le mysql_query renvoyait quelquechose, mais s'il ne renvoyait rien, alors que là la condition était vraie si la requète trouvait un résultat. Il aurait fallu écrire ceci :
if(!mysql_fetch_array($name_one))
(Notons l'utilisation du '!' )
echo"$name_one";
Tu essayes d'afficher la valeur de retour d'un appel à mysql_query(), qui renvoie un identifiant de ressource pour les requètes sql, soit une variable totalement abstraite et inutilisable telle quelle.