Page 1 sur 1
requete mysqli_query renvoi erreur
Posté : 19 nov. 2020, 17:58
par krystof
voici mon code php mais meme si tout semble correct la dernière requete mysqli_query(...)or die("Erreur requete impossible.") me renvoi erreur à chaque fois si vous pouvez m'eclairer merci beaucoup
<?php
$connection ;
$db_name="donnperso";
$host="localhost";
$user="root";
$password="";
$table="nom";
$idnom=+1;
$connection = mysqli_connect($host,$user,$password,$db_name)
or die ("Connection a MySql impossible");
$db = mysqli_select_db($connection,$db_name)
or die ("selection base impossible");
$rq = "SELECT * FROM $table";
$result=mysqli_query($connection,$rq)
or die ("requete impossible");
foreach ($_POST as $champ=>$valeur)
{
$dataOk[$champ]=htmlspecialchars(strip_tags(trim($valeur)));
}
$rq = "INSERT INTO nom(idnom,nom,prenom,email,login,password,bankroll)
VALUES($idnom,'$dataOk[nom]','$dataOk[prenom]','$dataOk[email]','$dataOk[login]','$dataOk[password]',$dataOk[bankroll])";
$connection = mysqli_connect($host,$user,$password,$db_name)
or die ("Connection a MySql impossible");
$result = mysqli_query($connection,$rq)
or die("Erreur requete impossible.");
?>
Re: requete mysqli_query renvoi erreur
Posté : 19 nov. 2020, 20:44
par @rthur
Il faut que tu regardes pourquoi la requête SQL échoue.
2 possibilités :
- soit tu fais un echo de ta requête et tu la testes dans phpmyadmin
- soit tu ajoutes dans ton die un appel à la fonction mysqli_error() pour voir le message d'erreur retourné
A noter aussi que ça ne sert à rien d'appeler deux fois mysqli_connect() si tu as déjà initialisé la connexion une 1ère fois.
Re: requete mysqli_query renvoi erreur
Posté : 19 nov. 2020, 22:37
par krystof
merci @rthur j'ai enfin trouvé le problème venait de la base de donnée.. grâce à ton "echo" de la requête j'ai pu trouver ou ça bloquait avec phpmyadmin
merci encore je n'y avait pas pensé j'avais affiché la requête mais tout me semblait juste....merci beaucoup à bientôt
Je n'arrive pas à récuperer une valeur dans MySql
Posté : 23 nov. 2020, 17:36
par krystof
il y a 27 minutes
bonjours, voilà le code: normalement "extract" me donne un tableau dont les clés(colones) dans la table deviennent des variables dans le code, hors php me répond toujours que la $idnom n'existe pas ? idnom dans la table est un int ... MERCI d'avance
<?php
// include(vars.inc)
$db_name="donnperso";
$host="localhost";
$user="root";
$password="";
$table="nom";
$connection;
$id="idnom"
$connection = mysqli_connect($host,$user,$password,$db_name)
or die ("Connection a MySql impossible");
$db = mysqli_select_db($connection,$db_name)
or die ("selection base impossible");
$rq = "SELECT * FROM $table;";
$result=mysqli_query($connection,$rq)
or die ("requete impossible");
$rq = "SELECT idnom from $table ;";
$result=mysqli_query($connection,$rq)
or die ("requete impossible");
@$ligne=extract(@mysqli_fetch_assoc[$result]);
if ($ligne[$id]=="")
{
$idnom=+1;
}
$idnom=$idnom+1;
echo("$idnom");
Re: requete mysqli_query renvoi erreur
Posté : 23 nov. 2020, 19:03
par @rthur
Déjà supprime les @ de ton code, ça masque les erreurs il ne faut JAMAIS les utiliser.
Et ensuite fait des var_dump des variables que tu utilises pour voir leur valeur
Re: requete mysqli_query renvoi erreur
Posté : 23 nov. 2020, 22:05
par krystof
le @ était là pour empecher une alerte de manque de parametre sur extract que j'ai rectifié(oubli) mais merci. Le resultat de la variable $idnom est 0 alors que je devrais avoir de 1 à 10... ??? qui sont bien dans la table est-ce parqu'il s'agit d'une cle primaire ou je n'ai pas la bonne methode d'extraction mais merci du conseil et surtout merci de me repondre je me sens moins seul face à mon desarois
Re: requete mysqli_query renvoi erreur
Posté : 23 nov. 2020, 22:09
par krystof
<?php
// include(vars.inc)
$db_name="donnperso";
$host="localhost";
$user="root";
$password="";
$table="nom";
$connection;
$id="idnom";
$connection = mysqli_connect($host,$user,$password,$db_name);
if (mysqli_connect_errno())
{
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$rq="SELECT nomP, login FROM $table ORDER BY nomP LIMIT 1";
if ($result = mysqli_query($connection, $rq))
{
printf("Nom : %s<br>", $finfo->name);
printf("Table : %s<br>", $finfo->table);
printf("Taille max : %d<br>", $finfo->max_length);
printf("Flags : %d<br>", $finfo->flags);
printf("Type : %d<br>", $finfo->type);
mysqli_free_result($result);
}
if ($result = mysqli_query($connection, $rq))
{
/* Déplacement du pointeur sur la ligne numéro 9 */
mysqli_data_seek($result, 9);
/* Récupération de cette ligne */
$row = mysqli_fetch_row($result);
printf ("idnom : %d nomP : %s <br>", $row[0], $row[1]);
/* Libération des résultats */
mysqli_free_result($result);
}
/* Fermeture de la connexion */
mysqli_close($connection);
?>
comme tu vois , meme comme ça j'obtient:
Nom : login
Table : nom
Taille max : 10
Flags : 4097
Type : 253
idnom : 0 nomP : csakrystof
pour cette ligne et idnom reste a 0 sur les autres réponses
Re: requete mysqli_query renvoi erreur
Posté : 24 nov. 2020, 08:03
par @rthur
Fais un var_dump($row) pour voir ce qu'il y a dedans.
Re: requete mysqli_query renvoi erreur
Posté : 24 nov. 2020, 18:11
par krystof
C'est cool merci. mais il n'y que toi qui répond ??? enfin le principale c'est que tu me trouves toujours une réponse un GRAND MERCI
ps: si je met une fonction php dans un fichier .inc crypté sera-t'elle inclut comme les variables ou dois-je créer un autre fichier .class ? c'est pour crypter les mots de passes avant de les mettre dans la dbbase ...
Re: requete mysqli_query renvoi erreur
Posté : 24 nov. 2020, 19:45
par @rthur
C'est cool merci. mais il n'y que toi qui répond ???
Non, on est quelques-uns, après comme tout bénévole ça dépend du temps dont on dispose
si je met une fonction php dans un fichier .inc crypté sera-t'elle inclut comme les variables ou dois-je créer un autre fichier .class ? c'est pour crypter les mots de passes avant de les mettre dans la dbbase ...
Je n'ai pas compris.
L'extension du fichier, que ce soit .inc, .class, .cequetuveux du moment que tu y fais appel avec un require() ou un include() va être traité comme du code PHP donc ça ne change rien.
Re: requete mysqli_query renvoi erreur
Posté : 25 nov. 2020, 03:19
par krystof
ok merci c cool
je n'arrive pas à recupérer mon POST la fonction me renvoi automatiquement là ou je l'ai appelée???
Posté : 02 déc. 2020, 01:12
par krystof
voici la fonction le var_dump s'effectue avant que j'ai selectionné le bouton radio?? et quand j'appuie sur envoyer je retourne au début de ma page appelante avec les erreurs que ça implique...
function recupererLigne($type, $nomTT, $heureDebut,$heureFin,$num,$idn,$bankrollT)
{
echo("<h3><center>Selectionnez la ligne à laquelle ajouter les nouveaux arguments</h3>
<form action='' methode='POST'><center><table class=matable border=1>
<thead>
<tr>
<th>$type</th><th>$nomTT</th><th>$heureDebut</th><th>selection</th>
<tr>
</thead>");
for($n=0;$n<$num;)
{
$rq="SELECT $type, $nomTT, $heureDebut FROM $bankrollT
WHERE $heureDebut<>'00:00' AND $heureFin='00:00' and id=$idn[0]";
// var_dump($rq);
$rangee=mysqli_fetch_row(requetes(seConnecter(), $rq));
echo("<tbody>
<tr>
<td>$rangee[0]</td><td>$rangee[1]</td><td>$rangee[2]</td>
<td><center><input type='radio' name='$nomTT' value='$nomTT'/></td>
</tr>");
$idn[0]=$idn[0]+1;
$n=$n+1;
}
echo("<tr><button type ='submit'>Valider</button></body></table></form></tr>");
var_dump($_POST);exit;
foreach($_POST as $champ=>$valeur)
{
$dataOk[$champ]=htmlspecialchars(strip_tags(trim($valeur)));
}
var_dump($dataOk);
return $dataOk[$champ];