Relier du PHP à un serveur SQL

Fermé
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014 - 12 juin 2014 à 13:53
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 5 août 2015 à 14:16
Bonjour,


voila je voudrais relier mon site php a une base de données déjà existante
mon code est le suivant :

<?php

// Le serveur est au format : <hôte>\<nom d'instance> ou
// <serveur>,<port> quand on utilise un port différent de celui par défaut
$server = 'SRVTest';

// Connexion à MSSQL

$link = mssql_connect($server, 'admin', 'mot de passe');

if(!$link) {
die('Erreur de connexion à MSSQL');
}
?>

or quand je lance mon site j'ai ce message d'erreur :
Fatal error: Call to undefined function mssql_connect() in C:\wamp\www\application_php\connexion_serveur.php on line 8

Donc go le codage sur la page connexion_serveur.php ci dessus.

help me!!! J'en peu plus de cette erreur et je ne la vois pas....
A voir également:

17 réponses

Utilisateur anonyme
12 juin 2014 à 14:24
Bonjour

L'extension mssql n'est visiblement pas activée.
As-tu une ligne extension=php_mssql.dll dans ton fichier php.ini ?
https://www.php.net/manual/fr/mssql.installation.php
2
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
12 juin 2014 à 14:54
oui c écrit : ;extension=php_mssql.dll

donc ca devrai marcher non??

jsui encore novice en code php
0
Non tu dois supprimer le ';'
0
Jeremou51 Messages postés 37 Date d'inscription mardi 27 mai 2014 Statut Membre Dernière intervention 22 mai 2017 1
12 juin 2014 à 14:12
Salut, Essaye avec mysqli_connect, on ne sait jamais
0
Utilisateur anonyme
12 juin 2014 à 14:21
mysqli_connect, c'est pour mysql, pas mssql

on ne sait jamais
Si, on sait très bien que ça ne donnera rien..
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
12 juin 2014 à 14:48
alors je fais quoi je suis deseperer parce que en somme ce que je veu faire est simple
si jarrive a me connecter a cet ***** base de donnée pour info je suis sur netgbeans pour le codage
donc avec wamp
et ma base de donner est sur sql serveur management

si ça peu aider
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
12 juin 2014 à 14:51
alors je fais quoi
Tu lis la réponse plus bas.
0
Utilisateur anonyme
12 juin 2014 à 14:56
S'il y a un ; au début de la ligne, c'est que la ligne est en commentaire...
Enlève le ;
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
12 juin 2014 à 15:26
que je l'enlève ou non ça ne change rien malheureusement
0
Jeremou51 Messages postés 37 Date d'inscription mardi 27 mai 2014 Statut Membre Dernière intervention 22 mai 2017 1
12 juin 2014 à 15:31
Après avoir enlevé le ; as tu fait un restart du service ?
0
Utilisateur anonyme
12 juin 2014 à 15:32
As-tu redémarré Apache ?
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
Modifié par louveteau_informatique le 12/06/2014 à 15:54
oui j'ai tout redémarrer même l'ordi
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
Modifié par louveteau_informatique le 12/06/2014 à 16:09
0
Utilisateur anonyme
12 juin 2014 à 16:17
1 - Après avoir supprimé le ; et redémarré Apache, le message d'erreur était-il toujours Call to undefined function mssql_connect() ?

2 - Quelle version de PHP as-tu ? Je doute que tu aies une version sans support mssql, alors que la ligne ;extension=php_mssql.dll était présente dans ton php.ini.
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
12 juin 2014 à 17:00
ma version php est 5.3.13
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
12 juin 2014 à 17:02
au pire peut ton connecter sql serveur avec des pdo
et si oui comment faire ? jusqu'a présent j'ai toujour bosser avec des base de donnée en localhost
0
Utilisateur anonyme
12 juin 2014 à 17:19
PDO ne s'oppose pas à localhost, ce n'est pas le problème.
Dans le manuel PHP, il proposent cette solution :
https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-driver-for-sql-server?redirectedfrom=MSDN&view=sql-server-ver15
Je ne peux que t'inviter à la suivre.

Enfin si, je peux te proposer autre chose mais je ne sais pas si c'est acceptable pour ton application : ne peux-tu pas transférer le contenu de ta base MS SQL vers une base mySQL, pour laquelle tu auras tous les outils et le support en PHP ?
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 09:11
au départ c'est ce que je pensais faire transforme le mssql en mysql mais le problème c que je fais cette application en stage dans une entreprise et il est plus simple pour eux de garder la structure actuelle de la base de données
0
Utilisateur anonyme
13 juin 2014 à 09:45
Alors je ne vois pas d'autre solution que le lien https://docs.microsoft.com/en-us/sql/connect/php/microsoft-php-driver-for-sql-server?redirectedfrom=MSDN&view=sql-server-ver15.
N'étant pas moi-même utilisateur de MS SQL, je n'ai pas l'expérience de ce problème et je crains de ne pas pouvoir t'aider davantage.
Bonne chance pour la suite.
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 11:17
je vais voir cela j'ai fait un test avec ces codes la mais j'ai un message d'erreur, vous verrez peut être mieux que moi d'ou viens le probleme:
apparement le probleme viendrai dla ligne include "/pdo/pdo_connect.php"; mais je reste sans voix

<?php
include "/pdo/pdo_connect.php";

function readAllContact()
{
$pdo= open();
$query = 'SELECT *nom_contact FROM contact;';
$cursor = $pdo->query($query);
$lescontacts = $cursor->fetchAll();
return $lescontacts;
}

?>

et voici le code que j'ai mis pour me connecter a la base de donnée

<?php
function open()
{
try {
$connStr =new PDO("sqlsrv:Server=SRVTest;Database=woutils");;
$arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
$pdo = new PDO($connStr, 'admin', 'password', $arrExtraParam);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
catch(PDOException $e) {
$msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
die($msg);
}

}



?>
0
Utilisateur anonyme
13 juin 2014 à 11:26
j'ai un message d'erreur
Il ne sert pas à grand chose de dire que tu as un message d'erreur : il faut recopier le message.
À mon avis, il te dit qu'il ne trouve pas le fichier à inclure /pdo/pdo_connect.php. Tel que tu l'as écrit, ça suppose que ton dossier /pdo est à la racine de ton disque dur, ce dont je doute. Enlève le / avant pdo, si ce dossier est bien un sous-dossier de celui qui contient ton script.
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 11:45
oui pardon jai oublier de mettre le messages d'erreur

( ! ) Warning: include(/pdo/pdo_connect.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in C:\wamp\www\application_php\pdo\pdo_contact.php on line 2
Call Stack
# Time Memory Function Location
1 0.0062 370720 {main}( ) ..\index.php:0
2 0.0124 376080 include( 'C:\wamp\www\application_php\pages\lister_contact.php' ) ..\index.php:31
3 0.0172 380240 include( 'C:\wamp\www\application_php\pdo\pdo_contact.php' ) ..\lister_contact.php:3

( ! ) Warning: include() [<a href='function.include'>function.include</a>]: Failed opening '/pdo/pdo_connect.php' for inclusion (include_path='.;C:\php\pear') in C:\wamp\www\application_php\pdo\pdo_contact.php on line 2
Call Stack
# Time Memory Function Location
1 0.0062 370720 {main}( ) ..\index.php:0
2 0.0124 376080 include( 'C:\wamp\www\application_php\pages\lister_contact.php' ) ..\index.php:31
3 0.0172 380240 include( 'C:\wamp\www\application_php\pdo\pdo_contact.php' ) ..\lister_contact.php:3

( ! ) Fatal error: Call to undefined function open() in C:\wamp\www\application_php\pdo\pdo_contact.php on line 6
Call Stack
# Time Memory Function Location
1 0.0062 370720 {main}( ) ..\index.php:0
2 0.0124 376080 include( 'C:\wamp\www\application_php\pages\lister_contact.php' ) ..\index.php:31
3 0.0211 379504 readAllContact( ) ..\lister_contact.php:5
0
Utilisateur anonyme
13 juin 2014 à 11:56
1 - S'il te plaît utilise le bouton 'Répondre' pour répondre : une réponse n'est pas un commentaire.
2 - Pourquoi ne tiens-tu pas compte de toute ma réponse ? Je t'avais expliqué que l'erreur était probablement celle-là, et comment y remédier : qu'as-tu fait de ces indications ? C'est pénible pour moi de toujours rappeler ce que je disais dans le message précédent.
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 12:06
j'ai enlever le / comme tu le disais mais ca ne change rien du tout
j'ai tout fait rien ne marche -_-
0
Utilisateur anonyme
13 juin 2014 à 12:16
Tu l'as enlevé pour me faire plaisir ou tu as compris pourquoi je te le demandais ? Car tu ne devrais rien faire sans comprendre pourquoi : je ne suis pas devant ton PC, je ne sais pas comment sont organisés tes répertoires. J'essaye de deviner et de te guider, mais toi tu DOIS comprendre ce que tu fais pour adapter mes suggestions.

C'est à TOI et pas à moi de savoir où se trouve ton fichier à inclure par rapport à ton script, et d'écrire le chemin en conséquence. Ce n'est pas un problème de base de données, ça, c'est du PHP tout simple.
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 12:58
bah on va dire que j'ai encore du mal avec tout ça....
je comprend oui mais peut être pas tout completement...
0
Utilisateur anonyme
13 juin 2014 à 14:07
Du mal avec tout quoi ? Il s'agit simplement - pour le message "failed to open stream:" - de savoir où se trouve ton fichier et d'écrire le chemin d'accès correctement.
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 14:15
mon dossier est composer de la facon suivante
dans un dossier application php on a :
- 1 dossier pages ou il se trouve toute les pages de l'application
-1 dossier pdo pour tout ce qui concerne les requete sql
et un index.php
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 14:55
bon j'ai tout remis dans un seul et même dossier
la plus d'erreur enfin plus d'erreur si une. elle persiste la sale bête...

avec ce code la:
<?php
function open()
{
try {
$connStr =new PDO("sqlsrv:Server=SRVTest\SQL2008R2;Database=woutils");;
$arrExtraParam= array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");
$pdo = new PDO($connStr, 'sa', 'p', $arrExtraParam);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $pdo;
}
catch(PDOException $e) {
$msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
die($msg);
}

}

?>
le message d'erreur est ERREUR PDO dans C:\wamp\www\genesys\connexion.php L.5 : could not find driver


bon est avec ce code ci (code du départ)
<?php

// Le serveur est au format : <hôte>\<nom d'instance> ou
// <serveur>,<port> quand on utilise un port différent de celui par défaut
$server = 'SRVTest\SQL2008R2';

// Connexion à MSSQL
$link = mssql_connect($server, 'sa', 'p');

if(!$link) {
die('Erreur de connexion à MSSQL');
}
?>

le message d'erreur est ( ! ) Fatal error: Call to undefined function mssql_connect() in C:\wamp\www\genesys\connexion.php on line 8
Call Stack
# Time Memory Function Location
1 0.0049 368024 {main}( ) ..\index.php:0
2 0.0088 371304 include( 'C:\wamp\www\genesys\rechercher_contact.php' ) ..\index.php:30
3 0.0129 375432 include( 'C:\wamp\www\genesys\requetecontact.php' ) ..\rechercher_contact.php:8
4 0.0167 378232 include( 'C:\wamp\www\genesys\connexion.php' ) ..\requetecontact.php:2
0
louveteau_informatique Messages postés 79 Date d'inscription jeudi 12 juin 2014 Statut Membre Dernière intervention 11 septembre 2014
13 juin 2014 à 15:43
une idée??
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
5 août 2015 à 14:16
Salut,

Wamp ne possède pas l'extension pour se connecter en mssql.

Tu peux trouver une solution ici : https://openclassrooms.com/forum/sujet/travailler-avec-php-mssql-express-sous-wamp

Bonne journée
0