Bonjour
Avant j'avais MySql et ce code marchait:
Il est activé depuis Android qui lui envoie un mot de passe, si le mot de passe est bon il renvoie le premier champ du premier enregistrement de tblAuth
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 <?php unset($_GET); if (isset($_POST['password'])) { if (!@mysql_connect('MonIp', 'monUser', 'MonPasse')) { error(1); } echo '<?xml version="1.0"?>'."\n"; echo "<login>\n"; if (!mysql_select_db('MaBase')) { error(2); } $pass = $_POST['password']; unset($_POST); $kid = login( $pass); if($kid == -1) { error(3); } else { printf(' <user id="%d"/>'."\n",$kid); // $kid contient le user_id donc le numéro de version // printf -> Affiche une chaîne de caractères formatée. Ex ici : %d --> integer } echo "</login>"; } function error($ec) { printf(' <error value="%d"/>'."\n".'</login>',$ec); die(); } function login($pass) { $select = " SELECT user_id FROM tblAuth WHERE password = '%s' " ; $query = sprintf($select, $pass); $result = mysql_query($query); if(mysql_num_rows($result) != 1) { return -1; } $row = mysql_fetch_row($result); return $row[0]; } ?>
Maintenant:
j'ai wampserveur d'installé sur ma machine avec sql server, je dois donc me servir de l'instruction sqlsvr
Voila ce que j'ai fait:
Il n'y a pas de soucis sur la connexion qui se fait entre php et sql server (j'ai testé)
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 <?php unset($_GET); $serverName = "Monserveur\SQLEXPRESS"; //serverName\instanceName $connectionInfo = array( "Database"=>"MaBase", "UID"=>"MonUser", "PWD"=>"MonPass"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if (isset($_POST['password'])) { if (!@$conn) { error(1); } echo '<?xml version="1.0"?>'."\n"; echo "<login>\n"; $pass = $_POST['password']; unset($_POST); $kid = login( $pass); if($kid == -1) { error(3); } else { printf(' <user id="%d"/>'."\n",$kid); // $kid contient le user_id donc le numéro de version // printf -> Affiche une chaîne de caractères formatée. Ex ici : %d --> integer } echo "</login>"; } function error($ec) { printf(' <error value="%d"/>'."\n".'</login>',$ec); die(); } function login($pass) { $sql = " SELECT user_id FROM tblAuth WHERE password = ? " ; $params = array('%s'); //$params = array(); $result =sqlsrv_query( $conn, $sql, $params); } //if(sqlsrv_num_rows($result) != 1) { return -1; } //Ici je ne sais pas comment remplacer ces deux lignes mais de toute maniere le code n'arrive pas jusque la // $row = mysql_fetch_row($result); //return $row[0]; } ?>
J'ai l'impression que le code php ne s'execute pas du tout il doit il y avoir une erreur de syntaxe quelque part.
Cette syntaxe est elle bonne?
Merci d'avance de votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part if (isset($_POST['password'])) {
Partager