Connecter à sa base de données avec mysqli

Fermé
Ennemine Messages postés 67 Date d'inscription mercredi 6 novembre 2013 Statut Membre Dernière intervention 11 juillet 2016 - Modifié par jordane45 le 4/07/2016 à 10:29
Ennemine Messages postés 67 Date d'inscription mercredi 6 novembre 2013 Statut Membre Dernière intervention 11 juillet 2016 - 11 juil. 2016 à 01:20
Bonjour,

J'ai un probleme avec la fonction mysqli en connectant à la bd et voici mon code pour l'insertion :

<?php
include("fonctions.php");
ini_set('display_errors','on');
error_reporting(E_ALL);
$a=76/1;
?>
<html><head><link  rel="stylesheet" type="text/css" href="style.css"/><title>Stckage des données تخزين المعطيات</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8"/></head>
<body bgcolor="#911ff1"><H2>
<pre><?php
//header('Content-Type: text/html; charset=UTF-8'); 
if (isset($_POST['Submit'])) {
 $name=$_POST['name']; 
 $email=$_POST['email'];
 $tel=$_POST['tel'];  
 $objetp=$_POST['objetp'];
 $description=$_POST['description'];         
 
 
if ( empty($name) ) {
    die("<center>Vous devez écrire votre nom-يجب أن تكتبوا إسمكم");
 
}
if((empty($_POST['email']))) {  
         echo $_POST['email'];  
      }
 
else if ( 1 < (strlen($_POST['email']) < 5) || (strlen($_POST['email']) > 60)) {                               
          die("L'adresse e-mail est trop court ou trop long-البريد إما طويل جدا أو قصير جدا");   
      }
      else if(!(preg_match("#@#",$_POST['email']))){
      die("L'adresse e-mail n'est pas correct, le symbole @ est absent     
            البريد غير صالح,  العلامة @ غير موجودة");  
      }
      else {
      } 
 
if ( empty($tel) ) {
    die("<center>Vous devez entrer votre numéro de téléphone-يجب أن تكتبوا رقم هاتفكم");
}
if ( empty($objetp) ) {
    die("<center>vous devez écrire le nom d'objet perdu-يجب أن تكتبوا إسم الشيئ الضائع");
}
if ( empty($description)) {
    die("<center>Vous devez décrir l'objet perdu-يجب وصف الشيئ الضائع"); 
}
 
 
// *************************
 
if(empty($_POST['name'])) {
        die("Vous devez écrire votre nom-يجب أن تكتبوا إسمكم"); 
     }
elseif ( (strlen($_POST['name']) < 3) || (strlen($_POST['name']) > 40)) {                 
        die("Le nom incorrect-الإسم غير صالح");
     }
else {
         
      }
 
if(empty($_POST['tel'])) {
          die("Vous devez entrer votre numéro de téléphone-يجب أن تكتبوا رقم هاتفكم");
      }
      elseif ((strlen($_POST['tel']) < 8) || (strlen($_POST['tel']) > 20)) { 
          die("Numéro de téléphone trop court ou trop long-رقم الهاتف إما طويل جدا أو قصير جدا");
      }
       
else {
          }            
 
       
if(empty($_POST['objetp'])) {
          die("Vous devez ecrire le nom d'objet perdu-يجب أن تكتبوا إسم الشيئ الضائع"); 
      }
 
elseif ((strlen($_POST['objetp']) < 3) || (strlen($_POST['objetp']) > 25)) { 
          die("Nom d'objet trop court ou trop long-إسم الشيئ الضائع طويل جدا أو قصير جدا");
      }
      else {  
      }
 
  
  
            
 
if(empty($_POST['description'])) {
          die("Vous devez décrire l'objet perdu-يجب وصف الشيئ الضائع");
      }
elseif ( (strlen($_POST['description']) < 5) || (strlen($_POST['description']) > 400)) {
          die("La description est trop courte ou trop longe-الوصف إما طويل جدا أو قصير جدا");
      }
else {
            
      }
      
$dossier = './imagesp/';
$fichier = basename($_FILES['image']['name']);
$taille_maxi = 1000000;
$taille = filesize($_FILES['image']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg','.bmp');
$extension = strrchr($_FILES['image']['name'], '.');  
//Début des vérifications de sécurité...
if(empty($fichier)){ $fichier="pas-d'imagep.jpg";}
else {         
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau 
{  
 die ("Vous devez uploader seulement une image de type: png, gif, jpg, jpeg ou bmp.         
 .bmp أو jpeg ,jpg ,gif ,png :ينبغي أن تكون الصورة المرفقة فقط من النوع 
 ");                                                       
}
 
if($taille>$taille_maxi)     
{   
     die ("Le fichier est trop gros...الصورة كبيرة الحجم");             
}
 
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload         
{
 
 
     //On formate le nom du fichier ici...   
     $fichier = strtr($fichier,
         'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
         'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier); 
     if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {   }  
 
 else //Sinon (la fonction renvoie FALSE).     
     {  
         die ("Echec de téléchargement de photo ! هناك خطأ في تحميل الصورة");
                      
     }
}
 
}  
 
 
connectejbardha_inscription();
if(empty($fichier)){ $fichier="pas-d'imagep.jpg";}  
  
date_default_timezone_set("UTC");
$date  = date("Y/m/d");
 
//Obtention de l'ID en incrmentant d'une unit
// le dernier ID cr.
$query= "select MAX(id) as id from objet_perdu";
$result=mysqli_query($a, $query);
if($row=mysqli_fetch_array($result)) {
    $id = ++$row[0];
}
else {
    echo mysqli_errno($base)." : ".mysqli_error($base);       
}
 
        
$query="INSERT into objet_perdu VALUES('".mysqli_real_escape_string(stripslashes($id))."','".mysqli_real_escape_string(stripslashes($name))."','".mysqli_real_escape_string(stripslashes($email))."','".mysqli_real_escape_string(stripslashes($tel))."','".mysqli_real_escape_string(stripslashes($objetp))."','".mysqli_real_escape_string(stripslashes($fichier))."','".mysqli_real_escape_string(stripslashes($description))."','".mysqli_real_escape_string(stripslashes($date))."')"; 
$result=mysqli_query($query);
if (!($result)) {
mysqli_connect_errno($result);                                                                                                            
}}
 
 //Affichage en retour des donnes enregistres.
 
?><table align= "center" border ="0" width= "100%" height= "79%">
<?php  
echo "  <tr><td align=center><font color= cyan > <h2><B>Merci, vos données sont conservées : شكرا , لقد تم حفظ معطياتكم</B></h2></font>","</td></tr>";                                               
echo "  <tr><td align=center><u><font color= cyan ><h2><B> Vous   أنتم </h2></B></u></font></tr></td>"; 
echo "  <tr><td align=center><h3><B>",$name," // ",$email," //  ",$tel,"</h3></B></tr></td>" ;
echo "  <tr><td align=center><u><font color= cyan ><h2><B>L'objet perdu  الشيء الضائع</h2></B></u></font></tr></td>";            
echo "  <tr><td align=center><h3><B>",$objetp,"</h3></B></tr></td>";
echo "  <tr><td align=center><h3><B>",$fichier,"</h3></B></tr></td>";
echo "  <tr><td align=center><h3><B>",$description,"</h3></B></tr></td>";           
echo "  <tr><td align=center><h3><B>",$date,"</h3></B></tr></td>";   
?>
</table>
<h3><A CLASS="menub" HREF="index.php"><center><b>Accueil-الرئيسية</center></b></A></h3>
<?php include("prc.php"); ?>
</body></html>



EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.


Et pour mon message d'erreur:

Warning: mysqli_query() expects parameter 1 to be mysqli, integer given in /home/ejbardha/public_html/stocke.php on line 148

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/ejbardha/public_html/stocke.php on line 149

Notice: Undefined variable: base in /home/ejbardha/public_html/stocke.php on line 153

Warning: mysqli_errno() expects parameter 1 to be mysqli, null given in /home/ejbardha/public_html/stocke.php on line 153

Notice: Undefined variable: base in /home/ejbardha/public_html/stocke.php on line 153

Warning: mysqli_error() expects parameter 1 to be mysqli, null given in /home/ejbardha/public_html/stocke.php on line 153

:
Notice: Undefined variable: id in /home/ejbardha/public_html/stocke.php on line 157

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in /home/ejbardha/public_html/stocke.php on line 157

Warning: mysqli_query() expects at least 2 parameters, 1 given in /home/ejbardha/public_html/stocke.php on line 158

Merci, vos données sont conservées : شكرا , لقد تم حفظ معطياتكم
Vous أنتم
hhhhhhh // // 334456778
L'objet perdu الشيء الضائع
hhhhhhhhhhhh
pas-d'imagep.jpg
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
2016/07/04
Accueil-الرئيسية


Aidez-moi et me montrez mon erreur.

2 réponses

jordane45 Messages postés 38275 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 4 696
4 juil. 2016 à 10:34
Bonjour,

mysqli_query :
Tu as écris :
$result=mysqli_query($a, $query);

Sauf que ... $a c'est :
$a=76/1;

Rappel de la doc : https://www.php.net/manual/fr/mysqli.query.php
mixed mysqli_query ( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )

c'est la connexion que tu dois lui passer ...

Un peu plus bas tu as aussi complètement oublié la seconde variable ...
 $result=mysqli_query($query); 




Pour ta seconde erreur...
if($row=mysqli_fetch_array($result)) {

elle vient du fait que le query n'a pas marché (voir point précédent de ma réponse).


Et pour finir ... pour les UNDEFINED index... regarde ici :
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index


.
0
Ennemine Messages postés 67 Date d'inscription mercredi 6 novembre 2013 Statut Membre Dernière intervention 11 juillet 2016 2
Modifié par Ennemine le 5/07/2016 à 11:13
Merci pour la réponse.
0
Ennemine Messages postés 67 Date d'inscription mercredi 6 novembre 2013 Statut Membre Dernière intervention 11 juillet 2016 2
5 juil. 2016 à 11:13
Actuellement j'ai cet erreur:

Erreur de connexion (1045) Access denied for user 'admin'@'localhost' (using password: YES)


J'ai bien verifié l'utilisateur(admin) et son mot de passe et ce message d'erreur reste toujours la.
0
jordane45 Messages postés 38275 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 4 696
5 juil. 2016 à 11:34
Tu es en "local" sur ton PC ou ta page est hébergée sur un serveur web ?
Quoi qu'il en soit... le message indique qu'il y a un souci dans la connexion....
Donc soit les infos du user/password ne sont pas bon.
Soit c'est le hostname qui ne l'est pas
Soit tu essayes d'accéder à une BDD distante (non hébergée sur le même serveur que la page php) et dans ce cas c'est les droits donnés au user qui ne sont pas bon.
En tout cas ça ne reflète pas un souci de code........
0
Ennemine Messages postés 67 Date d'inscription mercredi 6 novembre 2013 Statut Membre Dernière intervention 11 juillet 2016 2
11 juil. 2016 à 01:20
Je suis sur un serveur web et j'ai deux BD et les utilisateurs et leurs mots de passes sont correctes, et le code était avec mysql et je veux le transformer en mysqli.
J'ai vraiment besoin de l'aide.
0