Page 1 sur 3

une requete la plus simple possible

Posté : 29 juin 2005, 09:04
par Invité
bon ba je suis de retour et ca va faire mal!!!!!!!!!!!!!!!!!!!!!

alors j'ai reussi a me conecté a ma base access avec php
enfin je crois vu qu'il n'y a pas d'erreur..

donc pour etre sur je voudrai faire une requete la plus simple possible!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

j'ai trouvé sur le net que la syntaxe pour faire une requete c'était:

Exécuter une requête :
<?
$query = "insert into pdt (nom,liens,descriptif,photo)"; // champs
$query .= "VALUES ('$nom','$liens','$descriptif','$photo') "; // valeur
$result = odbc_do ($cnx,$query);
?>

et donc je voulais savoir ce que je devais remplacer
par exemple " photo, descriptif..." je dois le remplacer par quoi?

j'ai mis en rouge ce que je pensé qu'il ne fallait pas changer!
donc paer quoi je dois remplacer les autres trucs?

Modération : j'ai édité ton titre...peu explicite

Posté : 29 juin 2005, 09:08
par Cyrano
Syntaxiquement, la requête est correcte à un détail près: la concaténation de chaine entre la requête en SQL et les variables en PHP laisse à désirer:
<?
$query = "insert into pdt (nom,liens,descriptif,photo)"; // champs
$query .= "VALUES ('". $nom ."','". $liens ."','". $descriptif ."','". $photo ."') "; // valeurs
$result = odbc_do ($cnx,$query);
?>
Maintenant, si tu nous expliquait ce qui ne fonctionne pas, on aurait de meilleures chance pour orienter la réponse...:-k

Posté : 29 juin 2005, 09:35
par Invité
bin dans ca:

Code : Tout sélectionner

<? $query = "insert into pdt (nom,liens,descriptif,photo)"; // champs $query .= "VALUES ('". $nom ."','". $liens ."','". $descriptif ."','". $photo ."') "; // valeurs $result = odbc_do ($cnx,$query); ?>
j'aimerai savoir ce que je dois remplacer et pas quoi?

Posté : 29 juin 2005, 09:38
par sausee2005
est-ce que tu as une base ou une table déjà existante pour qu'on puisse te donner un exemple et si oui montre là sinon créé en une et montre là

Posté : 29 juin 2005, 09:40
par Cyrano
Mais enfin pourquoi veux-tu remplacer quoique ce soit: si tu nous expliquais ce qui ne fonctionne pas au lieu de poser une question vide de sens ????????

Posté : 29 juin 2005, 09:45
par sausee2005
tu n'as que le contenu à changer mais pour te montrer quoi mettre montre une table

Posté : 29 juin 2005, 09:46
par sausee2005
cyrano le problème c'est qu'il ne sait si il y a un problème ou pas et il veut tester avec une requête mais sans table pas de requête

Posté : 29 juin 2005, 09:49
par Invité
si si g une table UNIF_OS_SERVICE

ki contient:

CODE_SERVICE

LIBELLE

Posté : 29 juin 2005, 09:52
par Cobaye
<? 
$query = "insert into UNIF_OS_SERVICE (LIBELLE)"; // champs 
$query .= "VALUES ('". $libelle."') "; // valeurs 
$result = odbc_do ($cnx,$query); 
?> 
a condition que le champ CODE_SERVICe soit incrémental sinon l'ajouter dans la requete

Posté : 29 juin 2005, 09:52
par sausee2005
<?
$query = "select CODE_SERVICE ,LIBELLE from 'UNIF_OS_SERVICE';";
$result = odbc_do ($cnx,$query);
?>

Posté : 29 juin 2005, 09:56
par Invité
ok ok je vais essayer

Posté : 29 juin 2005, 10:02
par Invité
bon ba ca marche pas:

Code : Tout sélectionner

<? $query = "insert into UNIF_OS_SERVICE (LIBELLE)"; // champs $query .= "VALUES ('". $libelle."') "; // valeurs $result = odbc_do ($cnx,$query); ?>
pour ca l'erreur c'est:

Code : Tout sélectionner

Notice: Undefined variable: libelle in C:\iPLanet\Servers\docs\vincent\test.php on line 44
et lautre:

Code : Tout sélectionner

<? $query = "select CODE_SERVICE ,LIBELLE from 'UNIF_OS_SERVICE';"; $result = odbc_do ($cnx,$query); ?>
c'est:

Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans la requête. La clause de la requête est incomplète., SQL state S1000 in SQLExecDirect in C:\iPLanet\Servers\docs\vincent\test.php on line 44

mais quand ca marche on voit quoi?

Posté : 29 juin 2005, 10:10
par sausee2005
bon pour la première est-ce que tu as défini ta variable apparement non
pour la mienne essaie ça
<?
$query = "select CODE_SERVICE ,LIBELLE from 'UNIF_OS_SERVICE'";
$result = odbc_do ($cnx,$query);
?>
ou alors sans les ' autour du nom de la table
ou alors avec un where
<?
$query = "select CODE_SERVICE ,LIBELLE from 'UNIF_OS_SERVICE' where CODE_SERVICE=1";
$result = odbc_do ($cnx,$query);
?>
et ça a l'air de marcher sinon t'aurais autre chose comme message d'erreur

Posté : 29 juin 2005, 10:13
par Invité
si j'ecri ca sans les " ' " ca me mets aucune erreur:

Code : Tout sélectionner

<? $query = "select CODE_SERVICE ,LIBELLE from UNIF_OS_SERVICE"; $result = odbc_do ($cnx,$query); ?>
comment on sait que ca marche??

Posté : 29 juin 2005, 10:19
par Cyrano
en principe, ça retourne un booleen, teste le:
if($result != false)
{
    echo(<p>Connexion réussie</p>\n);
}
else
{
    echo(<p>Connexion ratée</p>\n);
}