Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & ODBC
PHP & ODBC Forum d'entraide sur ODBC avec PHP. Avant de poster -> FAQ ODBC
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2007, 10h09   #1
Invité de passage
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 3
Points : 3
Par défaut [Access] Formulaire de suppression

Bonjour,
je suis en train de faire un formulaire de suppression en saississant la référence , il doit supprimer la ligne de la base de données Access.J'ai déjà fait un formulaire d'ajout .

Voici le code
Code :
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
 
<body>
</body>
</html>
<?
 
	$tab[] = $_REQUEST['ref'];
 
 
 
	$bd="localhost"; // nom de la base de donnée déclarée par ODBC 
	$user="root"; // login 
	$password=""; // password 
 
	echo $cnx=odbc_connect( "BDACCESS","","" ) or die ("Impossible de se connecter Ã* la bas de donnée").'<br>';
 
	//recherche de la référence qui a été saisie
	$ref = $_REQUEST['ref'];
 
 
	$sql = "select * from document " ;
 
	$where = false;
 
	if (strcmp($ref,'')) 
	{
		if ($where) $sql.= "OR ref='$ref' ";
		else { $sql.= "where ref='$ref' "; $where=true; }
	}
 
	//suppression dans la base de données
 
	$sql = "delete into document " ;
	$str = "'".$tab[0]."'";
	for ($i=1;$i<count($tab);$i++)
	{
		$str .= ",'".$tab[$i]."'";
	}
	$sql .= "VALUES (".$str.")";
 
	if (odbc_do($cnx, $sql) or die( odbc_error()."<br/>Requete: $sql" )) echo 'Ca marche'; else echo 'Ca marche pas' ;
 
 
	odbc_close( $cnx);
 
?>
voici mon code d'erreur :
Citation:
1
Warning: odbc_do(): SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntax error in DELETE statement., SQL state 37000 in SQLExecDirect in c:\program files\easyphp1-8\www\projet1\gestiondoc\supprimer.php on line 47
37000
Requete: delete into document VALUES ('AB15241524')
bidule123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 10h19   #2
Modérateur
 
Avatar de mathieu
 
Inscription : juin 2003
Messages : 4 893
Détails du profil
Informations forums :
Inscription : juin 2003
Messages : 4 893
Points : 4 466
Points : 4 466
est ce que tu es sur de ta requête de suppression ?
d'habitude en SQL c'est plutôt ça :
Code SQL :
1
2
DELETE FROM document
WHERE ref = 'KJYE657687'
__________________
Modérateur PHP
mathieu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 11h11   #3
Invité de passage
 
Inscription : juin 2007
Messages : 100
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 100
Points : 3
Points : 3
Voici mon code,

Code :
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
</head>
 
<body>
</body>
</html>
<?
 
	$tab[] = $_REQUEST['ref'];
 
 
 
	$bd="localhost"; // nom de la base de donnée déclarée par ODBC 
	$user="root"; // login 
	$password=""; // password 
 
	echo $cnx=odbc_connect( "BDACCESS","","" ) or die ("Impossible de se connecter à la bas de donnée").'<br>';
 
	//recherche de la référence qui a été saisie
	$ref = $_REQUEST['ref'];
 
 
	$sql = "select * from document " ;
 
	$where = false;
 
	if (strcmp($ref,'')) 
	{
		if ($where) $sql.= "OR ref='$ref' ";
		else { $sql.= "where ref='$ref' "; $where=true; }
	}
 
	//suppression dans la base de données
 
	$sql = "DELETE FROM document
	WHERE ref = '$ref'";
 
	if (odbc_do($cnx, $sql) or die( odbc_error()."<br/>Requete: $sql" )) echo 'Ca marche'; else echo 'Ca marche pas' ;
 
 
	odbc_close( $cnx);
 
?>
ce qu'il me renvoie c'est le message 'ca marche' mais le souci est que la suppression ne se fait pas dans la base de données.
Je ne vois pas où est l'erreur.
merci de bien vouloir m'aider.
bidule123456 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h32.


 
 
 
 
Partenaires

Hébergement Web