Discussion:
connexion odbc sql server
(trop ancien pour répondre)
hantouva
2011-02-24 20:45:32 UTC
Permalink
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
Olivier Miakinen
2011-02-24 20:57:39 UTC
Permalink
Bonjour,
[...]
Notice: Undefined variable: sqlserver [...]
$dsn="sqlserver";
$sqlconnect=odbc_connect($sqlserver,$username,$password);
J'ai laissé les lignes qui devraient te permettre de trouver toi-même
où est l'erreur.

Si tu ne trouves pas, je veux bien être plus explicite, mais à une
condition : c'est que tu m'aides à savoir où dans Giganews il est
possible de remplacer ton adresse <***@domain-xyz.in> par autre
chose. Ça fait des mois et des mois que j'essaye d'obtenir une réponse
d'au moins un utilisateur de Giganews, et jamais personne ne veut
prendre le temps de le faire, malgré toute l'aide que je peux leur
apporter !

[suivi positionné en privé]
hantouva
2011-02-25 20:57:04 UTC
Permalink
Post by hantouva
Bonjour,
[...]
Notice: Undefined variable: sqlserver [...]
$dsn="sqlserver";
$sqlconnect=odbc_connect($sqlserver,$username,$password);
J'ai laissé les lignes qui devraient te permettre de trouver
toi-même
où est l'erreur.
Si tu ne trouves pas, je veux bien être plus explicite, mais à une
condition : c'est que tu m'aides à savoir où dans Giganews il est
possible de remplacer ton adresse par autre
chose. Ça fait des mois et des mois que j'essaye d'obtenir une
réponse
d'au moins un utilisateur de Giganews, et jamais personne ne veut
prendre le temps de le faire, malgré toute l'aide que je peux leur
apporter !
[suivi positionné en privé]
re bonsoir
ben je viens de remplacer sql server dans dsn par le n0n de ma base de d0nnee
ca ne f0ncti0nne t0uj0urs pas je sais que lerreur se tr0uve dans cette partie du
c0de mais je ne sais pas qu0i mettre ds dsn
merci enc0re de me lire et de maider si vs avez une idee
hantouva
2011-02-25 20:57:04 UTC
Permalink
Post by 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
FilesEasyPHP-5.3.5.0wwwconnexion.php on line 8
Call Stack
<?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
bonjour,
je vous remercie pour votre aide je viens de consulter les lignes p0ster mais
je ne vois toujour pas 0u est mon erreur je vais revoir a tete repose un peu
plus tard sinon pour votre question de ou ds giganwes peut on remplacer ladresse
je sais pas si jai bien compris votre question mais si c'est ladresse mail dont
v0us faites allusi0n ben il faut aller en haut de page juste a cote de Se
deconnecter et cliquer sur m0n profil puis v0us avez gestion de profil et un
formulaire qui saffiche cliquer sur changer adresse juste s0us champs de v0tre
adresse mail v0ila jespere que c'est ca
Olivier Miakinen
2011-02-25 22:00:57 UTC
Permalink
Post by hantouva
je vous remercie pour votre aide je viens de consulter les lignes p0ster mais
je ne vois toujour pas 0u est mon erreur je vais revoir a tete repose un peu
plus tard
J'avais cité :
==============================================================
Post by hantouva
[...]
Notice: Undefined variable: sqlserver [...]
$dsn="sqlserver";
$sqlconnect=odbc_connect($sqlserver,$username,$password);
==============================================================

L'erreur signale qu'une variable sqlserver n'a pas été définie, or en
effet le premier paramètre passé à odbc_connect() est $sqlserver alors
que c'est $dsn qui a été définie.

Donc il faut soit remplacer $dsn par $sqlserver lors de l'initialisation
soit remplacer $sqlserver par $dsn lors de l'appel.

Par exemple :
==============================================================
<?php
$sqlserver="sqlserver";
$username="";
$password="";

$sqlconnect=odbc_connect($sqlserver,$username,$password);
...
==============================================================

Attention, il faudrait aussi tester le code de retour de chaque fonction
avant de passer à la suivante. Par exemple vérifier que $sqlconnect
n'est pas nul avant d'appeler odbc_exec.
Post by hantouva
sinon pour votre question de ou ds giganwes peut on remplacer ladresse
je sais pas si jai bien compris votre question mais si c'est ladresse mail dont
v0us faites allusi0n ben il faut aller en haut de page juste a cote de Se
deconnecter et cliquer sur m0n profil puis v0us avez gestion de profil et un
formulaire qui saffiche cliquer sur changer adresse juste s0us champs de v0tre
adresse mail v0ila jespere que c'est ca
Mon sauveur !

Oui, c'est bien l'adresse mail dont je parle. Giganews attribue par
défaut une adresse qu'ils ne devraient *pas* proposer (et encore moins
accepter pour envoyer des messages).

Avant de me répondre, merci de remplacer le « .in » par « .invalid »,
donc : <***@domain-xyz.invalid>.

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).

Cordialement,
--
Olivier Miakinen
Sp4rrow
2011-02-25 22:00:57 UTC
Permalink
Post by hantouva
<?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);
?>
Bon, Olivier ta montre la ligne qui pose probleme !
tu ne la pas vue !!
il faut modifier ceci
$sqlconnect=odbc_connect($sqlserver,$username,$password);
par
$sqlconnect=odbc_connect($dns,$username,$password);
dont $dsn=a la source odbc
voilà
hantouva
2011-02-26 10:03:13 UTC
Permalink
Post by Sp4rrow
Post by hantouva
<?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);
?>
Bon, Olivier ta montre la ligne qui pose probleme !
tu ne la pas vue !!
il faut modifier ceci
$sqlconnect=odbc_connect($sqlserver,$username,$password);
par
$sqlconnect=odbc_connect($dns,$username,$password);
dont $dsn=a la source odbc
voilà
bonjour
merci de m'avoir repondu je vais tester cela de suite, je suis vraiment pas
c0ncentrer ca parrait logique maintenant que v0us le dites merci enc0re
hantouva
2011-02-27 10:23:32 UTC
Permalink
Post by Sp4rrow
Post by hantouva
<?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);
?>
Bon, Olivier ta montre la ligne qui pose probleme !
tu ne la pas vue !!
il faut modifier ceci
$sqlconnect=odbc_connect($sqlserver,$username,$password);
par
$sqlconnect=odbc_connect($dns,$username,$password);
dont $dsn=a la source odbc
voilà
bonjour;
voila je viens de faire la modification et de remplacer comme proposer mais le
probleme persiste toujours, jai le message d'erreur suivant:

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
Files\EasyPHP-5.3.5.0\www\connexion.php on line 8

# Time Memory Function Location
1 0.0021 333248 {main}( ) ..\connexion.php:0
2 0.0021 333592 odbc_connect ( &apos;sql server&apos;, &apos;&apos;,
&apos;&apos; ) ..\connexion.php:8

$_SERVER['REMOTE_ADDR'] =
string '127.0.0.1' (length=9)


$_SERVER['REQUEST_METHOD'] =
string 'GET' (length=3)


$_SERVER['REQUEST_URI'] =
string '/connexion.php' (length=14)


$dsn =
string 'sql server' (length=10)


$identifiant =
Undefined
$password =
string '' (length=0)


$process =
Undefined
$sqlconnect =
Undefined
$sqlquery =
Undefined
$username =
string '' (length=0)

et le code et comme suit
<?php
$dsn="sql server";
$username="";
$password="";


$sqlconnect=odbc_connect($dsn,$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);
?>

voila si vous voyez ce qui cloche eclairez moi svp
Olivier Miakinen
2011-02-27 16:43:56 UTC
Permalink
Post by hantouva
Post by Sp4rrow
Post by hantouva
$dsn="sqlserver";
$sqlconnect=odbc_connect($sqlserver,$username,$password);
il faut modifier ceci
$sqlconnect=odbc_connect($sqlserver,$username,$password);
par
$sqlconnect=odbc_connect($dns,$username,$password);
$dns ? ;-)
Post by hantouva
voila je viens de faire la modification et de remplacer comme proposer mais le
probleme persiste toujours,
Si le problème « persistait » réellement, j'aurais supposé que tu avais
suivi la suggestion de Sparrow ($dns) au lieu de l'une des deux miennes.
Post by hantouva
[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
Files\EasyPHP-5.3.5.0\www\connexion.php on line 8
Ce message prouve que tu as avancé : tu utilises une variable qui est
bien initialisée, et tu n'as plus aucun problème PHP, d'ailleurs c'est
une erreur SQL qui t'est remontée.
Post by hantouva
[...]
voila si vous voyez ce qui cloche eclairez moi svp
<chantage>
Quand tu auras remplacé ton adresse invalide et interdite par une
adresse invalide mais autorisée, en remplaçant in par invalid.
</chantage>

Cordialement,
--
Olivier Miakinen
Pascal Poncet
2011-02-27 16:47:30 UTC
Permalink
Post by hantouva
[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
Files\EasyPHP-5.3.5.0\www\connexion.php on line 8
Le message est clair, non ?
"Source de données introuvable et nom de pilote non spécifié..."

Tout ça à la ligne 8, sur la fonction "odbc_connect()".
<?php
$sqlconnect=odbc_connect($dsn,$username,$password);
?>
Avec $dsn="sql server", ce qui est un peu court !

Bon, faudrait peut-être jeter un œil sur la doc :
[http://fr.php.net/manual/fr/function.odbc-connect.php]
"dsn : Le nom source de la base de données (DSN), pour la connexion."

Après, il faut savoir si on se connecte avec ou sans DSN (Data Source
Name) et en connaître la syntaxe, qui est particulière au pilote ODBC
qui a été configuré.
Il y a un exemple dans la doc et une aide possible dans ce commentaire :
[http://fr.php.net/manual/fr/function.odbc-connect.php#32539]

Bonne chance.
--
Cordialement,
Pascal
hantouva
2011-02-28 21:41:43 UTC
Permalink
[citations élaguées par les modérateurs]
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).
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
Olivier Miakinen
2011-02-28 22:14:23 UTC
Permalink
Post by hantouva
[citations élaguées par les modérateurs]
Merci ! :-D
Post by hantouva
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.
Post by hantouva
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é ***@domain-xyz.in par ***@domain-xyz.invalid
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 ***@domain-xyz.in 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
Olivier Miakinen
2011-03-01 10:09:27 UTC
Permalink
$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
$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","","");
Pascal Poncet
2011-03-01 22:13:40 UTC
Permalink
Post by Olivier Miakinen
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
$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" => "machine\SQLEXPRESS",
"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
hantouva
2011-03-01 15:05:14 UTC
Permalink
Post by Olivier Miakinen
Post by Olivier Miakinen
$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","","");
Post by Olivier Miakinen
Post by Olivier Miakinen
)
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
Post by Olivier Miakinen
$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
machine\SQLEXPRESS;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
Continuer la lecture sur narkive:
Loading...