Bonjour à tous et à toutes.

J'ai quelques problèmes concernant PHP et SQL Server.

Au niveau php ainsi que les pilotes sql tout est ok.

Dans le futur, je souhaiterais pouvoir transferer des données d'un formulaire par sql via php pour pouvoir créer des comptes.

Avant de travailler sur ma base de donnée "finale", j'en ai créer une afin d'effectuer des test.

Dans l'exemple j'ai juste créer une base " test " ayant comme table "news" avec ses colonnes: ID (auto-incrémentation) titre, contenu, et date.
Donc ma connection php -> base de donnée fonctionne du moins ce que la requête me dit..

Lorsque j'éxécute une query "basique" sans formulaire, rien ne se passe et rien ne s'inscrit dans la base.
De plus le code ci-dessous ne me retourne aucun message.

if (!$query) {
    die('Erreur MSSQL : ' . mssql_get_last_message());
}

Voila le code complet:

<?php
$serverName = "localhost";
$connectionInfo = array( "Database"=>"test", "UID"=>"****", "PWD"=>"*****");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if ($conn) {
    echo "Connexion OK"; 
//Jusque la la page affiche bien "Connexion OK"
$query  = "INSERT INTO dbo.news(titre,contenu) VALUES ('test111','test888')";
if (!$query) {
    die('Erreur MSSQL : ' . mssql_get_last_message());
}
$result = sqlsrv_query($conn,$query);

sqlsrv_close($conn);
}
?>

Donc voila mon problème, je suis également à la recherche de tuto / formation afin de comprendre le php et mssql.

Bonne journée à tous et merci.

9 réponses


Warzik
Réponse acceptée

Normal, puisque le code est le même, donc lorsque tu réactualises ta page, bah exactement la même requête est effectuée, après c'est à toi de mettre un formulaire et de faire ta requête en fonction des données saisies dans le formulaire.

Salut, dans le code que tu nous présentes, la variable $query n'est pas définie.

NzxT
Auteur

Oups, j'ai modifié, le $sql par $query j'ai effectuer plusieurs test avec d'autre variables.
Navré je me suis pas assez relu.. :/

D'accord, mais de toute façon, ce code là:

if (!$query) {
    die('Erreur MSSQL : ' . mssql_get_last_message());
}

n'affichera rien puisque que $query n'est qu'une chaîne de caractère.

NzxT
Auteur

D'accord, donc il ne sert a rien c "bout" de code?

Il faudrait plutôt faire ceci:

// ton code précédent ...
$query  = "INSERT INTO dbo.Test(titre,contenu) VALUES ('test111','test888')";
$result = sqlsrv_query($conn,$query);
if (!$result) {
    die('Erreur MSSQL : ' . mssql_get_last_message());
}
sqlsrv_close($conn);
NzxT
Auteur

Sa amrche !! Cependant il me duplique les ligne du genre quand j'actualise ils rentre la meme requetes y a t'il un moyen afin d'éviter les doublons? :)

NzxT
Auteur

D'accord en tout cas je te remercie !
Bonne journée à toi et merci encore :)

Pas de soucis, bonne journée.