插入 mysql 查询时获取空 div

Get an empty div when inserting mysql query

当我在 MySQL 中尝试以下查询时,我得到了一个完美的结果:

SELECT DATE_FORMAT(p.date_arrivee, '%d/%m/%Y'),
       DATE_FORMAT(p.date_depart, '%d/%m/%Y'), p.prix, s.photo, 
       s.ville, s.capacite FROM produit p, salle s 
  WHERE p.id_salle = s.id_salle AND etat=0 ORDER BY id_produit DESC 
  LIMIT 0,3

在 PHP 中插入时:

$query = "SELECT DATE_FORMAT(p.date_arrivee, \'%d/%m/%Y\'), DATE_FORMAT(p.date_depart, \'%d/%m/%Y\'), p.prix, s.photo, s.ville, s.capacite FROM produit p, salle s WHERE p.id_salle = s.id_salle AND etat=0 ORDER BY id_produit DESC LIMIT 0,3 ";

我得到一个空的 space,如果我从引号中删除反斜杠,我会得到一个未定义的索引错误。

有人可以解释我做错了什么,以便尝试从 DATETIME 中删除时间。

这是用于创建我的 table 的完整 PHP 代码:

      $query = "SELECT DATE_FORMAT(p.date_arrivee, '%d/%m/%Y'), DATE_FORMAT(p.date_depart, '%d/%m/%Y'), p.prix, s.photo, s.ville, s.capacite 
                FROM produit p, salle s 
                WHERE p.id_salle = s.id_salle AND etat=0 
                ORDER BY id_produit";


        if ($result = $mysqli->query($query)) 
        {
          while ($row = $result->fetch_assoc()) {
            echo '<img src="'.RACINE_SITE. '/img/thumbnail/' . $row['photo'] . '"/>';
            echo '<p> Du ' . $row['date_arrivee'] . ' au ' . $row['date_depart'] . ' - ' . $row['ville'] . '<br/>'
                     . $row['prix'] . '€ pour ' . $row['capacite'] . ' personnes.</p>';


           if(!isset($_SESSION['utilisateur'])) {
              echo '<a href="connexion.php"><p>Connectez-vous pour ajouter l\'article à votre panier</p></a>';
            }
              else
            {
              echo '<button type="button">Ajouter au panier</button>';
            }              
          }
        };        

CREATE TABLE 语句如下(连同数据等...)

CREATE TABLE IF NOT EXISTS `produit` (
  `id_produit` int(5) NOT NULL AUTO_INCREMENT,
  `date_arrivee` datetime NOT NULL,
  `date_depart` datetime NOT NULL,
  `id_salle` int(5) NOT NULL,
  `id_promo` int(2) DEFAULT NULL,
  `prix` int(5) NOT NULL,
  `etat` int(1) NOT NULL,
  PRIMARY KEY (`id_produit`),
  KEY `id_promo` (`id_promo`),
  KEY `id_salle` (`id_salle`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=25 ;

--
-- Contenu de la table `produit`
--

INSERT INTO `produit` (`id_produit`, `date_arrivee`, `date_depart`, `id_salle`, `id_promo`, `prix`, `etat`) VALUES
(14, '2015-06-08 09:00:00', '2015-06-10 18:00:00', 1, NULL, 900, 1),
(16, '2015-06-11 09:00:00', '2015-06-12 18:00:00', 2, NULL, 750, 0),
(17, '2015-06-08 09:00:00', '2015-06-10 18:00:00', 2, NULL, 900, 0),
(18, '2015-06-11 09:00:00', '2015-06-13 19:00:00', 1, NULL, 800, 0),
(19, '2015-06-08 09:00:00', '2015-06-10 22:00:00', 3, NULL, 1100, 0),
(20, '2015-06-08 07:45:00', '2015-06-10 22:00:00', 4, NULL, 1300, 0),
(21, '2015-06-11 09:00:00', '2015-06-13 21:00:00', 4, NULL, 2300, 0),
(22, '2015-06-08 06:00:00', '2015-06-13 19:00:00', 5, NULL, 2500, 0),
(23, '2015-06-11 09:00:00', '2015-06-13 19:00:00', 2, NULL, 1400, 0),
(24, '2015-06-11 09:00:00', '2015-06-13 19:00:00', 3, NULL, 1800, 0);

--
-- Contraintes pour les tables exportées
--

--
-- Contraintes pour la table `produit`
--
ALTER TABLE `produit`
  ADD CONSTRAINT `produit_ibfk_1` FOREIGN KEY (`id_salle`) REFERENCES `salle` (`id_salle`) ON DELETE CASCADE ON UPDATE CASCADE,
  ADD CONSTRAINT `produit_ibfk_2` FOREIGN KEY (`id_promo`) REFERENCES `promotion` (`id_promo`) ON DELETE CASCADE ON UPDATE CASCADE;

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

以及 'salle'

的 CREATE TABLE 语句
--------------------------------------------------------

--
-- Structure de la table `salle`
--

CREATE TABLE IF NOT EXISTS `salle` (
  `id_salle` int(5) NOT NULL AUTO_INCREMENT,
  `pays` varchar(20) NOT NULL,
  `ville` varchar(20) NOT NULL,
  `adresse` text NOT NULL,
  `cp` varchar(5) NOT NULL,
  `titre` varchar(200) NOT NULL,
  `description` text NOT NULL,
  `photo` varchar(200) NOT NULL,
  `capacite` int(3) NOT NULL,
  `categorie` enum('reunion') DEFAULT NULL,
  PRIMARY KEY (`id_salle`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=19 ;

--
-- Contenu de la table `salle`
--

INSERT INTO `salle` (`id_salle`, `pays`, `ville`, `adresse`, `cp`, `titre`, `description`, `photo`, `capacite`, `categorie`) VALUES
(1, 'France', 'Paris', '55, rue Boussingault', '75013', 'Salle Boussingault', 'Lokisalle propose des salles de réunion modernes et spacieuses ajusté à vos besoins.  \nNos salles de réunion sont adaptées pour vos conférences, des réunions du conseil,\ndes rencontres internationales ou des événements. \nLa salle de réunion peut accueillir jusqu''à 80 délégués.\nVous avez également la possibilité de diviser la salle de réunion en trois chambres \nséparées avec des cloisons insonorisées.\nLes espaces publics offrent une atmosphère chaleureuse qui est idéal pour servir \ndes rafraîchissements lors de votre conférence.', 'salle11.jpg', 80, 'reunion'),
(2, 'France', 'Paris', '46, Boulevard Garibaldi', '75015', 'Salle Garibaldi', 'La salle de conférence Garibaldi offre 26 places assises dans le style de salle de direction, avec de superbes vues sur le boulevard Garibaldi. Une grande table avec 7 m de longueur et 150 cm de largeur se dresse au milieu de la salle .\n\nLes salles privées peuvent être séparés ou reliés au besoin et maintenus ensemble comme une unité de la belle tapisserie de couleur pourpre spécialement produite pour Lokisall, d''un motif inspiré par Orsta galerie d''art à Kumla préalablement conçu par le studio.\n\nPour les réunions , vous avez dans toutes nos salles privées sans fil haut débit .', 'salle12.jpg', 26, 'reunion'),
(3, 'France', 'Paris', '231 Boulevard st Germain', '75005', 'Salle Saint Germain', 'La salle Saint Germain est le lieu de rencontre idéal pour l''inspiration et la pensée créatrice. \nLa salle de la conception , de l''espace et de la lumière vous donne l''énergie dont vous avez besoin pour créer de nouvelles idées.\nLes places à la table de conférence , se pencher en arrière sur les canapés ou à demi couché dans les confortables fauteuils en face des fenêtres panoramiques et laissez-vous fasciner\nLa salle peut accueillir 40 personnes et est équipée d''un projecteur , de rideaux occultant et tableau blanc.', 'salle13.jpg', 40, 'reunion'),
(4, 'France', 'Lyon', '3 Rue de l''Humilité', '69003', 'Salle Humilis', 'La salle Humilis est notre salle de conférence la plus populaire avec la possibilité d''un aménagement souple. La chambre est située à un demi cran au dessus de l''entrée de gamme et offre un cadre tranquille et isolé . Deux grandes fenêtres donnant sur notre belle cour intérieur.', 'salle9.jpg', 25, 'reunion'),
(5, 'France', 'Lyon', '240 Rue Vendôme', '69003', 'Salle Vendôme', 'Notre plus grande salle de réunion est disponible dans la cour intérieur . Une installation nouvellement construite , qui sert aussi de salle de dégustation pour les grandes dégustations. Les locaux, fraîches et lumineuses sont naturellement dotées d''un mobilier confortable et la dernière technologie : Wi- Fi , projecteur, grand écran , DVD, VHS , système de son avec microphone , ventilation, éclairage réglable et plus.', '', 120, 'reunion'),
(6, 'France', 'Marseille', '45 Quai des Belges', '13001', 'Salle Belge', '', '', 25, 'reunion'),
(7, 'France', 'Marseille', 'Escalier Gare Saint-Charles', '13001', 'Salle Saint Charles', '', '', 400, 'reunion'),
(9, 'France', 'Marseille', '416 Boulevard National', '13003', 'Salle Nationale', '', '', 80, 'reunion'),
(10, 'France', 'Lyon', '168 Rue Paul Bert', '69003', 'Salle Paul Bert', '', '', 30, 'reunion'),
(11, 'France', 'Lyon', '25 Place des Terreaux', '69001', 'Salle des Terreaux', '', '', 45, 'reunion'),
(12, 'France', 'Lyon', '11-13 Rue du Général Plessier', '69002', 'Salle Plessier', '', '', 60, 'reunion'),
(13, 'France', 'Lyon', '6 Rue de l''Université', '69007', 'Salle de l''Université', '', '', 400, 'reunion'),
(14, 'France', 'Lyon', '262 Rue de Crèqui', '69003', 'Salle Crèqui', '', '', 12, 'reunion'),
(15, 'France', 'Paris', '7 Place Denfert-Rochereau', '75014', 'Salle Denfert-Rochereau', '', '', 75, 'reunion'),
(16, 'France', 'Paris', '35 Quai André Citroën', '75015', 'Salle André Citroën', 'Test 3', 'salle15.jpg', 18, 'reunion'),
(17, 'France', 'Paris', '60 Rue de Passy', '75016', 'Salle Passy', 'Test 2', 'salle16.jpg', 24, 'reunion'),
(18, 'France', 'Paris', '154-156 Rue la Fayette', '75010', 'Salle de la Fayette', 'Test 1', 'salle17.jpg', 50, 'reunion');

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

我们更新了很多次 post 我真的不记得我们做了什么更改,但我试过代码并且它有效

<?php

//Change this values to your values
$mysqli = new mysqli("localhost", "root", "admin", "test");
define('RACINE_SITE', '/');

          $query = "SELECT DATE_FORMAT(p.date_arrivee, '%d/%m/%Y') as date_arrivee,
           DATE_FORMAT(p.date_depart, '%d/%m/%Y') as date_depart, p.prix, s.photo, 
           s.ville, s.capacite FROM produit p, salle s 
      WHERE p.id_salle = s.id_salle AND etat=0 ORDER BY id_produit DESC 
      LIMIT 0,3";


            if ($result = $mysqli->query($query)) 
            {
              while ($row = $result->fetch_assoc()) {
                echo '<img src="'.RACINE_SITE. '/img/thumbnail/' . $row['photo'] . '"/>';
                echo '<p> Du ' . $row['date_arrivee'] . ' au ' . $row['date_depart'] . ' - ' . $row['ville'] . '<br/>'
                         . $row['prix'] . '€ pour ' . $row['capacite'] . ' personnes.</p>';


               if(!isset($_SESSION['utilisateur'])) {
                  echo '<a href="connexion.php"><p>Connectez-vous pour ajouter l\'article à votre panier</p></a>';
                }
                  else
                {
                  echo '<button type="button">Ajouter au panier</button>';
                }              
              }
            };  

输出: