IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de donn�es Discussion :

Liaison entre php et sqlserver sur un serveur distant [SQL-Server]


Sujet :

PHP & Base de donn�es

  1. #1
    Membre �prouv�
    Homme Profil pro
    Analyse syst�me
    Inscrit en
    Juin 2013
    Messages
    973
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Analyse syst�me
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 973
    Par d�faut Liaison entre php et sqlserver sur un serveur distant
    Bonjour
    je rencontre une difficult� pour faire un simple select dans mon script php.
    Celui ci se trouve sur mon serveurweb que je nommerais serveurWeb. Ma base de donn�es se trouve sur un autre serveur "ServeurBdd".

    Voici une partie de mon script php :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
      <table>
            <tr>
                <td>Afficher les données pour :</td>
                <td>
                    <form method="POST" action="">
                        <select name="mois">
                            <option value="2024-09">Septembre 2024</option>
                            <option value="2024-10">Octobre 2024</option>
                            <option value="2024-11" selected>Novembre 2024</option>
                        </select>
                        <button type="submit" class="btn">Voir</button>
                    </form>
                </td>
            </tr>
        </table>
     
    ........
    .......
    <!-- Tableau qui sera affiché après avoir cliqué sur "Voir" -->
        <div id="tableauContainer">
            <?php
     
     
            if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['mois'])) {
                $mois = $_POST['mois']; // Récupérer le mois sélectionné
     
                // Connexion à la base de données
                $serverName = "ServeurBdd";
                $connectionOptions = array(
                    "Database" => "mabdd",
    				"Encrypt" => false, // Désactive le chiffrement SSL
                    "Uid" => "user",
                    "PWD" => "xxxxxxx"
     
     
                );
     
                $conn = sqlsrv_connect($serverName, $connectionOptions);
                if (!$conn) {
                     echo "La connexion n'a pu être établie.<br />";
    				die( print_r( sqlsrv_errors(), true));
    				die(print_r(sqlsrv_errors(), true));
     
                }
    			else
    			{
    				 echo "Connexion établie.<br />";
    			}
     
                // Requête SQL
                $sql = "SELECT top 10 * FROM [dbo].[matable] WHERE AnneeMois = ?";
                $params = array($mois);
     
                $stmt = sqlsrv_query($conn, $sql, $params);
                if ($stmt === false) {
                    die(print_r(sqlsrv_errors(), true));
                }
     
                // Afficher le tableau
                echo "<h2>Données pour le mois sélectionné ($mois)</h2>";
                echo "<table border='1'>";
                echo "<tr><th>ID</th><th>Nom</th><th>Autre colonne...</th></tr>"; // Modifiez les colonnes selon votre table
                while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
                    echo "<tr>";
                    echo "<td>" . $row['ID'] . "</td>";
                    echo "<td>" . $row['Nom'] . "</td>";
                    echo "<td>" . $row['AutreColonne'] . "</td>";
                    echo "</tr>";
                }
                echo "</table>";
     
                // Fermer la connexion
                sqlsrv_close($conn);
            }
            ?>
    et voici l'erreur que j'obtients actuellement :

    Array ( [0] => Array ( [0] => 42000 [SQLSTATE] => 42000 [1] => 229 [code] => 229 [2] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]L'autorisation SELECT a �t� refus�e sur l'objet 'matable', base de donn�es 'mabdd', sch�ma 'dbo'. [message] => [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]L'autorisation SELECT a �t� refus�e sur l'objet 'matable', base de donn�es 'mabdd', sch�ma 'dbo'. ) )


    La connexion a �t� �tabli, �a j'en suis sur, mais il ne me fais pas mon select.
    J'utilise sqlserver express, et pourtant j'ai bien mis tous les droits sur mon utilisateur mais je ne sais pas pourquoi il ne me fais pas mon select.

    Merci pour votre aide.
    Cordialement

  2. #2
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 506
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 506
    Par d�faut
    Bonjour,

    Le code 42000 de SQLSTATE signifie qu'il y a une erreur de syntaxe ou violation d'acc�s, regardez cette liste de code et chercher le code 42000 avec CTRL+F.

    L'erreur est que vous ex�cutez directement une requ�te d'un "statement" qui utilise des marqueurs anonymes "?" sans avoir la pr�parer.

    Voil� un exemple qui montre comment pr�parer une requ�te.

  3. #3
    Membre �prouv�
    Homme Profil pro
    Analyse syst�me
    Inscrit en
    Juin 2013
    Messages
    973
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Analyse syst�me
    Secteur : High Tech - Multim�dia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 973
    Par d�faut
    Bonjour
    merci pour le retour.
    J'ai r�ussi � effectuer la connexion

    J'ai fais pareil, j'ai eu un message d'erreur, ce que j'ai fais j'ai donner plus de droit � l'utilisateur que j'ai cr��, comme nous serons que deux � avoir acc�s au serveur, tout vas bien et j'ai bien v�rifi� avec un grant s'il peut faire des selects etc..

    Merci bien , j'ai mis la page en favoris car c'est bien expliqu� la liste.

    Bonne journ�e *

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 14/03/2014, 11h03
  2. [Librairie] [TELNET] Faire du telnet en PHP sur un serveur distant
    Par kaboume dans le forum Biblioth�ques et frameworks
    R�ponses: 10
    Dernier message: 10/06/2010, 14h24
  3. R�ponses: 12
    Dernier message: 14/08/2006, 12h55
  4. Ex�cuter un php sur un serveur distant
    Par echataig dans le forum D�veloppement Web en Java
    R�ponses: 2
    Dernier message: 12/11/2005, 23h49
  5. [Librairies] Exécution d'un .JAR sur un serveur distant via PHP
    Par kaboume dans le forum Biblioth�ques et frameworks
    R�ponses: 7
    Dernier message: 09/10/2005, 14h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo