OVH Cloud OVH Cloud

connexion odbc sql server

15 réponses
Avatar
hantouva
Bonjour,
voila jaimerais etablir une connexion entre ma base de donnees qui est en sql serveur en utilisant easy php, jai deja configure odbc cependant ma connexion echoue lorseque je lexecute avec easy je recois le message derreur suivant
Notice: Undefined variable: sqlserver in C:\Program Files\EasyPHP-5.3.5.0\www\connexion.php on line 8
Call Stack

voici mon code:
<?php
$dsn="sqlserver";
$username="";
$password="";


$sqlconnect=odbc_connect($sqlserver,$username,$password);
$sqlquery="SELECT identifiant FROM utilisateur;";
$process=odbc_exec($sqlconnect, $sqlquery);

while(odbc_fetch_row($process)){
$identifiant = odbc_result($process,"identifiant");
echo "$identifiant<br>"; }
odbc_close($sqlconnect);
?>
je precise que pour linstant le client et le serveur sont sur le meme poste et que dans ma configuration odbc jai precise comme source le nom de ma base de donnees dont utilisateur est une de ces tables
pourriez vs maider svp si vous avez une idee je debute ds ce domaine merci bcq

5 réponses

1 2
Avatar
Olivier Miakinen
Le 28/02/2011 22:41, hantouva a écrit :

[citations élaguées par les modérateurs]





Merci ! :-D

Attention aussi à ne pas tout citer, sinon la réponse sera
refusée par
l'équipe de modération pour citation excessive (le message
précédent
était limite).





Cf http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html et en
particulier les paragraphes 3a et 3b.

merci pour votre reponse; sinon pour le "in" de invalide frenchement je ne
vois pas dutout ni comment ni de quoi il sagit je pensais avoir repondu derniere
fois apperement ca a l'air d'etre plus complexe sinon ben votre code de chantage
jai beaucoup aime donnez moi plus de detail pour cette histoire d'adresse mail
car il me semble pour changer dadresse mail il suffit de modifier dans le profil
et cest tout
a bientot



As-tu remplacé par
là où tu l'avais dit (en haut de page, juste à côté de "se décnnecter",
en cliquant sur "mon profil") ? Si oui, alors malheureusement c'était
inefficace puisque ton adresse est toujours dans
l'article auquel je réponds. Or cette adresse, imposée par Giganews, ils
n'ont pas le droit de l'utiliser puisque le nom de domaine appartient
aux noms de domaines de l'Inde (in = Inde comme fr = France) et qu'il
n'a pas été déposé par Giganews.

À part ça, pour la connexion à la base de données, as-tu réussi à
résoudre ton problème en suivant le lien indiqué par Pascal Poncet ?
La syntaxe a l'air vraiment complexe.

(rappel de http://fr.php.net/manual/fr/function.odbc-connect.php#32539 :
$conn=odbc_connect("Driver={SQL
Server};Server=".$ser.";Database=".$db,$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL
Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";DATABASE=".$db.";Address=".$ser.",1433","","");
)

Cordialement,
--
Olivier Miakinen
Avatar
hantouva
Olivier Miakinen a écrit le 28/02/2011 à 23h14 :
Le 28/02/2011 22:41, hantouva a écrit :

[citations élaguées par les modérateurs]







Merci ! :-D

Attention aussi à ne pas tout citer, sinon la réponse sera
refusée par
l'équipe de modération pour citation excessive (le message
précédent
était limite).







Cf http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html et en
particulier les paragraphes 3a et 3b.

merci pour votre reponse; sinon pour le "in" de invalide
frenchement je ne
vois pas dutout ni comment ni de quoi il sagit je pensais avoir repondu
derniere
fois apperement ca a l'air d'etre plus complexe sinon ben votre code de
chantage
jai beaucoup aime donnez moi plus de detail pour cette histoire d'adresse mail
car il me semble pour changer dadresse mail il suffit de modifier dans le
profil
et cest tout
a bientot




As-tu remplacé par
là où tu l'avais dit (en haut de page, juste à
côté de "se décnnecter",
en cliquant sur "mon profil") ? Si oui, alors malheureusement
c'était
inefficace puisque ton adresse est toujours dans
l'article auquel je réponds. Or cette adresse, imposée par
Giganews, ils
n'ont pas le droit de l'utiliser puisque le nom de domaine appartient
aux noms de domaines de l'Inde (in = Inde comme fr = France) et qu'il
n'a pas été déposé par Giganews.

À part ça, pour la connexion à la base de données,
as-tu réussi à
résoudre ton problème en suivant le lien indiqué par
Pascal Poncet ?
La syntaxe a l'air vraiment complexe.

(rappel de http://fr.php.net/manual/fr/function.odbc-connect.php#32539 :
$conn=odbc_connect("Driver={SQL
Server};Server=".$ser.";Database=".$db,$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL
Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";DATABASE=".$db.";Address=".$ser.",1433","","");
)

Cordialement,
--
Olivier Miakinen


bonjour;
pour lhistoire de ladresse mail effectivement ca na pas ete modifie je viens de tester cela sinon pour la connexion et bin toujours au meme point pratiquement jai utilise ce que vous mavez suggere et ca donne ce qui suit;
______________________________________code
<?php
$ser="ecofie-e524a789"; #the name of the SQL Server
$db="ecofie"; #the name of the database
$user=""; #a valid username
$pass=""; #a password for the username

$conn=odbc_connect("DRIVER=SQL
Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";DATABASE=".$db.";Address=".$ser.",1433","","");
?>

____________________ message d'erreur
Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][Gestionnaire de pilotes ODBC] Source de données introuvable et nom de pilote non spécifié, SQL state IM002 in SQLConnect in C:Program FilesEasyPHP-5.3.5.0wwwconn.php on line 8

merci pour votre suggestion
hantouva
Avatar
Olivier Miakinen
Le 28/02/2011 23:14, je citais :

(rappel de http://fr.php.net/manual/fr/function.odbc-connect.php#32539 :
$conn=odbc_connect("Driver={SQL Server};Server=".$ser.";Database=".$db,$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";DATABASE=".$db.";Address=".$ser.",1433","","");
)



Je trouve ça personnellement très difficile à lire. Moi, j'aurais écrit
tout ceci comme ça (je le laisse en citation pour éviter la coupure de
ligne au milieu de « SQL Server ») :

$conn=odbc_connect("Driver={SQL Server};Server=$ser;Database=$db",$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL Server;SERVER=$ser;UID=$user;PWD=$pass;DATABASE=$db;Address=$ser,1433","","");
Avatar
hantouva
Olivier Miakinen a écrit le 01/03/2011 à 11h09 :
Le 28/02/2011 23:14, je citais :

(rappel de http://fr.php.net/manual/fr/function.odbc-connect.php#32539 :
$conn=odbc_connect("Driver={SQL
Server};Server=".$ser.";Database=".$db,$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL
Server;SERVER=".$ser.";UID=".$user.";PWD=".$pass.";DATABASE=".$db.";Address=".$ser.",1433","","");
)




Je trouve ça personnellement très difficile à lire. Moi,
j'aurais écrit
tout ceci comme ça (je le laisse en citation pour éviter la
coupure de
ligne au milieu de « SQL Server ») :

$conn=odbc_connect("Driver={SQL
Server};Server=$ser;Database=$db",$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL
Server;SERVER=$ser;UID=$user;PWD=$pass;DATABASE=$db;Address=$ser,1433","","");




bonjour;
enfin je vien de trouver la solution
le code est omme suit

<?php

$username="";
$password="";
$bd="ecofie"; # non de la base de donnees

$sqlconnect=odbc_connect("DRIVER={SQL Server};SERVER=nom de ma machineSQLEXPRESS;DATABASE=$bd", $username, $password);
$sqlquery="SELECT identifiant FROM utilisateur;";
$process=odbc_exec($sqlconnect, $sqlquery);

while(odbc_fetch_row($process)){
$identifiant= odbc_result($process,"identifiant");
echo "$identifiant<br>"; }
odbc_close($sqlconnect);

?>
merci a vous de m'avoir repondu
hantouva
Avatar
Pascal Poncet
Le 01/03/2011 11:09, Olivier Miakinen a écrit :
Je trouve ça personnellement très difficile à lire. Moi, j'aurais écrit
tout ceci comme ça (je le laisse en citation pour éviter la coupure de
ligne au milieu de « SQL Server ») :

$conn=odbc_connect("Driver={SQL Server};Server=$ser;Database=$db",$user,$pass);
ou
$conn=odbc_connect("DRIVER=SQL Server;SERVER=$ser;UID=$user;PWD=$pass;DATABASE=$db;Address=$ser,1433","","");





Puisqu'on est dans les suggestions de lisibilité, je rajoute la mienne.

<?php
$dsn_params = array(
"DRIVER" => "{SQL Server}",
"SERVER" => "machineSQLEXPRESS",
"DATABASE" => "ecofie"
);
$dsn = implode(";", array_map(
create_function('$k,$v', 'return "$k=$v";'),
array_flip($dsn_params),
$dsn_params
));
/* On pourrait aussi inclure une fonction utilisateur,
genre 'implode_assoc()', qui ferait la même chose.
Ou encore, bricoler avec une fonction toute faite,
mais pas prévue pour ça, comme :
$dsn = urldecode(http_build_query($dsn_params, '', ';'));
*/
$username = "utilisateur";
$password = "mot_de_passe";
$sqlconnect = odbc_connect($dsn, $username, $password);
?>


--
Cordialement,
Pascal
1 2