Page 1 sur 3

probleme "No database selected"

Posté : 30 juin 2016, 14:03
par Henrigo
lorsque j'essaye de vouloir effacer une categorie de ma base de donne, peu etre je pourrai avoir un coup de pousse de votre part.
voila tous les codes qui gere mes Categories et ainsi que tout en bas le codes SQL pour les categories

connection.php
<?php

	function dbConnect() {

		return new mysqli("localhost","root","","dwm_ecom_2");

	}

	$dbConnect = dbConnect();

?>

addCategorie.php
<?php

require_once("connection.php");

$nc = $_POST["nomCat"];
$d = $_POST["description"];

$req= $dbConnect->query("INSERT INTO categories (nom_cat,description) VALUES('$nc','$d')");

header("Location:GestionCategories.php");

?>

categorie.php
<?php

require_once("connection.php");

$dbConnect = dbConnect();
$req= $dbConnect->query("SELECT code_cat,nom_cat FROM categories");

?>

<table>

	<?php

	while($cat=$req->fetch_assoc()) { 

	?>

	<tr>

		<td>

			<a href="index.php?idCat=<?php echo($cat['code_cat'])?>"><?php echo($cat['nom_cat'])?></a>

		</td>
	</tr>

	<?php

	} 

	?>

</table>
GestionCategorie.php
<?php
session_start();

require_once("connection.php");

$req = $dbConnect->query("SELECT code_cat,nom_cat,description FROM categories");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
           <head>
               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
               <title>Management-Kategorien</title>
               <link rel="stylesheet" type="text/css" href="style1.css" />
               <script language="javascript">
                    function confirmation(idCat){
                         var rep=confirm("Sind sie sicher diese Kategorie zu löschen ?");
                         if(rep==true){
                            document.location="supprimerCategorie.php?idCat="+idCat
                                       }
                    }
               </script>
           </head>
           <body>
<?php require_once("entete.php"); ?>
                <div id="formCategories" align="center">
                   <form method="post" action="addCategogie.php">
                      <table>
                           <tr>
                                <td>Kategorie:</td>
                                    <td><input type="text" name="nomCat" required="required"></td>
                                </tr>
                           <tr>
                                <td>Beschreibung:</td>
                                  <td><textarea name="description" rows="3" cols="50"></textarea></td>
                                </tr>
                           <tr>
                              <td><input type="submit" value="Hinzufügen" /></td>
                           </tr>
                      </table>
                   </form>
                </div>
                <div id="listeCategories" align="center">
                    <table border="1">
                            <tr>
                                 <th>CODE CAT</th><th>NAME CAT</th><th>Beschreibung</th>
                            </tr>
<?php while($cat = $req->fetch_assoc()){?>
                            <tr>
                                 <td><?php echo($cat['code_cat'])?></td>
                                 <td><?php echo($cat['nom_cat'])?></td>
                                 <td><?php echo($cat['description'])?></td>
                                 <td>
								     
                                     <a href="javascript:confirmation(<?php echo($cat['code_cat'])?>)">Löschen</a>                             
                                </td>
                            </tr>
<?php } ?>
                    </table>
               </div>
        </body>
</html>
categories.sql
CREATE TABLE `categories` (
  `CODE_CAT` int(11) NOT NULL,
  `NOM_CAT` varchar(250) COLLATE utf8_german2_ci NOT NULL,
  `DESCRIPTION` text COLLATE utf8_german2_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_german2_ci;

--
-- Daten für Tabelle `categories`
--

INSERT INTO `categories` (`CODE_CAT`, `NOM_CAT`, `DESCRIPTION`) VALUES
(1, 'ISOKE_1', ''),
(2, 'ISOKE_2', ''),
(3, 'ISOKE_3', ''),
(4, 'ISOKE_4', ''),
(5, 'ISOIN', '');

Re: probleme "No database selected"

Posté : 30 juin 2016, 15:16
par moogli
salut,

as tu plus de précision avec ce message d'erreur ?
Nom du fichier et numéro de ligne devrais être dans le message.
tu peux utiliser select_db(), qui est inutile normalement vu que tu fournis le 4ème paramètre à la connexion.

il y a peux être une erreur à la connexion ?
tu peux le tester facilement avec ce bout de code de la doc
<?php
if ($mysqli->connect_error) {
    die('Erreur de connexion (' . $mysqli->connect_errno . ') '
            . $mysqli->connect_error);
}
@+

Re: probleme "No database selected"

Posté : 30 juin 2016, 16:09
par Henrigo
Salut moogli
le message "No database selected" est tout ce qui s'affiche lorsque je veux supprimer une categorie

Re: probleme "No database selected"

Posté : 30 juin 2016, 16:12
par or 1
on n'a pas le code de supprimerCategorie.php

Re: probleme "No database selected"

Posté : 30 juin 2016, 16:33
par Henrigo
je m'excuse de l'avoir oublier
supprimerCategorie.php
<?php require_once("connection.php")?>
<?php
$idc=$_GET["idCat"];
$req="delete from CATEGORIES where CODE_CAT=$idc";
mysql_query($req) or die(mysql_error());
header("location:GestionCategories.php");

header("location:GestionCategories.php");
?>

Re: probleme "No database selected"

Posté : 30 juin 2016, 17:23
par Ryle
Bonjour,

Et si dans supprimerCategorie.php tu remplaçais le mysql_query() par un $dbConnect->query() ?

tu peux aussi virer le second header(), une seule fois c'est suffisant ;)

Re: probleme "No database selected"

Posté : 30 juin 2016, 18:16
par Henrigo
Salut Ryle,

tu es le meilleur ca marche , merci beaucoup

Re: [RESOLU] probleme "No database selected"

Posté : 01 juil. 2016, 10:31
par Henrigo
Salut a tous ,
le problem si dessus a ete resolu mais j'ai eu a ecrire des scripts cette fois pour les users samblable a categorie, et je voulais procede autant a la suppression des users mais malheureusement ca ne marche pas, comme dit les scripts sont semblable nean moins je vous presente a quoi ressemble le script supprimerUser.php
<?php require_once("connection.php")?>
<?php

$req="delete from * USERS where user_id=?";
$dbConnect->query($req) or die(mysql_error());
header("location:GestionUsers.php");
?>
CREATE TABLE `users` (
  `user_id` int(11) NOT NULL,
  `login` varchar(250) NOT NULL,
  `pass` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Daten für Tabelle `users`
--

INSERT INTO `users` (`user_id`, `login`, `pass`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3'),
(2, 'user', 'ee11cbb19052e40b07aac0ca060c23ee'),
(3, 'paul', '6c63212ab48e8401eaf6b59b95d816a9'),
(4, 'raul', 'bc7a844476607e1a59d8eb1b1f311830');

Re: [RESOLU] probleme "No database selected"

Posté : 01 juil. 2016, 11:48
par Spols
en corrigeant ta requete, ca devrait fonctionner

enlever le * et préciser le user_id depuis ta variable et non pas un ?
regarde bien le script de catégorie qui fonctionne pour comparer

Re: [RESOLU] probleme "No database selected"

Posté : 01 juil. 2016, 12:02
par Henrigo
j'ai deja vu, j'ai eu a faire faire des testes et oublie de corrige, voila a quoi ma requete ressemble
"SELECT user_id, login FROM users"

Re: [RESOLU] probleme "No database selected"

Posté : 01 juil. 2016, 12:27
par moogli
delete from * USERS where user_id=?
La requête n'est pas syntaxiquement correcte tel quel.
=> delete from table
Le ? indique que tu veux utiliser une requête préparée il faut donc que utiliser les méthodes prepare et bind_param avant la méthode execute.

@+

Re: [RESOLU] probleme "No database selected"

Posté : 01 juil. 2016, 12:54
par Henrigo
moogli tu as raison ce sont des changement que j'ai effectue et oublie de les remettre en place, je testais juste voir ,
oubli s'il te plait l'etoile
$req="delete from users where user_id= ";

Re: [RESOLU] probleme "No database selected"

Posté : 01 juil. 2016, 15:09
par Ryle
Tu as un cas qui fonctionne juste au-dessus, pourquoi ne t'en inspires-tu pas ? :)
$idc=$_GET["idCat"];
$req="delete from CATEGORIES where CODE_CAT=$idc";
$idUser=$_GET["idUser"]; // à adapter en fonction de comment tu sais quel id user il faut supprimer
$req="delete from USERS where USER_ID=$idUser";
...

Re: [RESOLU] probleme "No database selected"

Posté : 02 juil. 2016, 12:21
par Henrigo
Salut Ryle,
je vois bien cela et je l'ai vu depuis longtemps mais je t'assure ca ne marche pas car ca me signale une erreur de ma variable $idUser , C'est a ce niveau que je ne sais pas si j'ai bien declare ma variable $idUser.

Re: [RESOLU] probleme "No database selected"

Posté : 04 juil. 2016, 07:59
par Spols
fait un var_dump($_GET); pour voir si une variable correspond à ce que tu cherche