Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/06/2006, 20h08   #1
Membre à l'essai
 
Inscription : novembre 2004
Messages : 144
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 144
Points : 24
Points : 24
Par défaut connexion à une base mysql

slt,
actuellement je m'exerce a comprendre le fonctionnement de la connexion a une base mysql apartir s'un script php dont voici le code:
page "search.html":
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
<html>
<head>
  <title>Book-O-Rama Catalog Search</title>
</head>
 
<body>
  <h1>Book-O-Rama Catalog Search</h1>
 
  <form action="results.php" method="post">
    Choose Search Type:<br />
    <SELECT name="searchtype">
      <OPTION value="author">Author</option>
      <OPTION value="title">Title</option>
      <OPTION value="isbn">ISBN</option>
    </select>
    <br />
    Enter Search Term:<br />
    <input name="searchterm" type="text">
    <br />
    <input type="submit" value="Search">
  </form>
 
</body>
</html>
page "result.php";
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
<html>
<head>
  <title>Book-O-Rama Search Results</title>
</head>
<body>
<h1>Book-O-Rama Search Results</h1>
<?php
  // CREATE short variable names
  $searchtype=$_POST['searchtype'];
  $searchterm=$_POST['searchterm'];
 
  $searchterm= trim($searchterm);
 
  IF (!$searchtype || !$searchterm)
  {
     echo 'You have not entered search details.  Please go back and try again.';
     exit;
  }
 
  IF (!get_magic_quotes_gpc())
  {
    $searchtype = addslashes($searchtype);
    $searchterm = addslashes($searchterm);
  }
 
  @ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');
 
  IF (mysqli_connect_errno()) 
  {
     echo 'Error: Could not connect to database.  Please try again later.';
     exit;
  }
 
  $query = "select * from books where ".$searchtype." like '%".$searchterm."%'";
  $result = $db->query($query);
 
  $num_results = $result->num_rows;
 
  echo '<p>Number of books found: '.$num_results.'</p>';
 
  FOR ($i=0; $i <$num_results; $i++)
  {
     $row = $result->fetch_assoc();
     echo '<p><strong>'.($i+1).'. Title: ';
     echo htmlspecialchars(stripslashes($row['title']));
     echo '</strong><br />Author: ';
     echo stripslashes($row['author']);
     echo '<br />ISBN: ';
     echo stripslashes($row['isbn']);
     echo '<br />Price: ';
     echo stripslashes($row['price']);
     echo '</p>';
  }
 
  $result->free();
  $db->close();
 
?>
</body>
</html>
ma base s'appelle books et j'ai créé un utilisateur avec le login et le mot de passe cité ci dessus, mais voila lors de la recherche j'ai seulement le titre qui s'affiche, je n'obtiens pas le resultat attendu a savoir le nom de l'ecrivain, le nom du livre, etc...
qu'ai je oublié?
merci
mealtone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2006, 20h14   #2
Membre Expert
 
Avatar de Anduriel
 
Homme
Étudiant
Inscription : février 2004
Messages : 2 168
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : février 2004
Messages : 2 168
Points : 1 277
Points : 1 277
Oui c'est bizarre ton code a l'air bon... Ca vient surement de ta classe de connection
Anduriel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 23h23   #3
Expert Confirmé Sénior
 
Homme Laurent Willems
Expert Stop/Start
Inscription : septembre 2002
Messages : 2 551
Détails du profil
Informations personnelles :
Nom : Homme Laurent Willems
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Expert Stop/Start

Informations forums :
Inscription : septembre 2002
Messages : 2 551
Points : 4 271
Points : 4 271
Code :
@ $db = new mysqli('localhost', 'bookorama', 'bookorama123', 'books');
Pourrais-tu retirer le @ et voir si tu n'aurais pas des warnings qui apparaissent?
Mygale1978 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h13.


 
 
 
 
Partenaires

Hébergement Web