probleme avec NWNX et requete SELECT

Répondre
Partager Rechercher
Bonjour,
travaillant sur un système de jeu basé sur une database via NWNX, j'ai un gros soucis: Que ce soit en utilisant SQLLite ou ODBC(pour attaquer mon serveur linux avec MySQL), j'ai le même problème sur une requete de type SELECT.


:-> aucun message d'erreur de la DB dans le log nwnx:

Citation :
NWNX ODBC2 plugin V.0.9.2.4
(c) 2005 by Ingmar Stieger (Papillon) and Jeroen Broekhuizen
visit us at http://www.nwnx.org

o Logfile maximum size limit is: 524288 bytes
o Log level: Everything will be logged.
o Using SQLite connection.
o Hooking SCO....hooked at 5c65d0
o Hooking RCO....hooked at 5c64b0
o Connect successful.
o Got request: INSERT INTO marchandise_prix (ville, marchandise, prix, stock) values ('estuaire', 'res_ble','10','5')
o Got request: SELECT prix FROM marchandise_prix WHERE ville='estuaire' and marchandise='res_ble'
o Disconnecting from database.
Quand je regarde via PHPMyAdmin (pour MySQL) ou SQLlite Database browser, je vois que l'insertion a fonctionné. Lorsque je balance la requete select via ces deux outils, elle fonctionne correctement.
Mais si j'utilise pour afficher le prix d'une marchandise via la fonction suivante, elle me renvoie toujours "-1".
Je dois faire une bétise, probablement, mais laquelle?
Citation :
int retournePrixMarchandise (string label, string ville)
{
string requete="SELECT prix FROM marchandise_prix WHERE ville='"+ville+"' and marchandise='"+label+"'";
SQLExecDirect(requete);
if (SQLFetch() == SQL_SUCCESS)
{
return StringToInt(SQLGetData(1));
}
else
{
return -1;
}
}
Une idée?
Code PHP:

      string requete="SELECT prix FROM marchandise_prix WHERE ville='"+ville+"' and marchandise='"+label+"'"
S'il n'y a pas d'erreur entre les " et les '... tout devrais bien ce passé. maintenant tu peut toujours remplacer le tien par celui ci, j'ai bien pris le temps de vérifier leur position et les espaces.

Maintenant si le problème persiste, essaye en forçant les certains appels avec ce caractère `. Cela donnera la syntaxe suivante :
Code PHP:

 string requete="SELECT `prix` FROM `marchandise_prix` WHERE `ville`='"+ville+"' and `marchandise`='"+label+"'"
Si ça ne passe toujours pas, vérifie le script qui appelle cette fonction. Il y a peut être une erreur avec tes variables ville et label.
Autre chose, je viend d'y penser....

Il faut faire attention au contenu de tes variables ville et label, aucune des deux ne doivent avoir le caractère '... sinon ta requête deviendra incompréhensible. Il doit exister une fonction de conversion de chaine de caractère (sqlencode un truc du genre). Utilise là pour régler ton problème.
As-tu fait appel a la fonction SQLInit() au chargement du module, ou au moins une fois avant d'effectuer la requête SELECT ? Si ce n'est pas le cas, NwnX ne peut pas renvoyer de résultat aux requêtes SELECT car il n'y a pas de mémoire "allouée". Par contre, les requêtes INSERT fonctionneront normalement.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés