Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
Pages : 1
bonsoir apres avoir crée un forum et l'intégration de la zone membre comme indiqué de la faq, je souhaiterais également utiliser mes propres scripts avec tables à part, nécessitant le common.php pour savoir quel membre a accès ou non à la page.
Sauf que mes requetes sql ne marche pas, je donne un exemple.
[c]mysql_query("INSERT INTO news (id, titrenews, objet, img, timestamp, contenu, valide, description, categorie, auteur) VALUES ('', '" . $titrenews . "', '" . $objet ."', '" . $nom_fichier . "', '" . time() . "', '" . $contenu . "', '" . $valide . "', '" . $description . "', '" . $categorie . "', '" . $auteur ."')");[/c]
(les variables sont transmises par post etc)
une requete simple censé fonctionner, je ne sais ce qu'il y aurait à modifier.
Hors ligne
Surement la faute à tes ." qui ne sont pas nécessaires.
[c]mysql_query("INSERT INTO news (id, titrenews, objet, img, timestamp, contenu, valide, description, categorie, auteur) VALUES ('', '$titrenews', '$objet', '$nom_fichier', NOW(), '$contenu', '$valide', '$description', '$categorie', '$auteur')");[/c]
Dernière modification par dahousemix (13-12-2006 00:02:57)
Hors ligne
ce n'est pas ça, ça change rien. Est ce que le common.php influe sur la façon d'écrire une requete?
Hors ligne
dans common.php il y a une connexion à la base de données qui est ouverte via l'objet $db, si tes tables sont sur la même base de donnée que celles de punbb alors tu devrait utiliser l'objet $db et effectuer des requetes avec ses méthode (voir le code de punbb)
et sinon : merci ! enfin quelqu'un qui s'est servi de la doc de ce site et pour qui cela a fonctionné
Hors ligne
justement je ne comprend pas comment ça fonctionne l'objet $db.
en regardant un exemple dans post.php
$db->query('INSERT INTO '.$db->prefix.'posts (poster, poster_id, poster_ip, message, hide_smilies, posted, topic_id) VALUES(\''.$db->escape($username).'\', '.$pun_user['id'].', \''.get_remote_address().'\', \''.$db->escape($message).'\', \''.$hide_smilies.'\', '.$now.', '.$tid.')') or error('Impossible de créer le message', __FILE__, __LINE__, $db->error());
$new_pid = $db->insert_id();$db->query = oO?
des anti slash de partout dont j'ignore l'utilité et la fin je n'y comprend rien.
je ne cherche pas à faire aussi compliqué pourtant, je récup des variables, je met dans la table, c'est tout.
le $db->query à la place de mysql_query est le seul truc à modifier que je vois à peu près (et encore je ne suis pas convaincu de l'intéret) après je comprend pas le reste.
Dernière modification par zorino (13-12-2006 01:09:24)
Hors ligne
le $db->query à la place de mysql_query est le seul truc à modifier que je vois à peu près
bah ouais c'est tout ; $db est un objet, il a des méthodes (fonctions) dont notamment la méthode query() qui remplace mysql_query()
après si une chaine de caractère est délimité par des ' comment tu fait pour mettre un ' au milieu si tu ne l'échappe pas ?
la méthode escape() revient à utiliser mysql_escape_string() pour protéger les chaine de caractère avant de les passer à la base de données
ensuite on as la forme $db->query('MA REQUETE SQL') or error(); où la fonction error() est une fonction de punbb qui prend quelques arguments :
'Impossible de créer le message' // le message d'erreur
__FILE__ // le nom du fichier
__LINE__ // le numéro de la ligne
$db->error() // le message d'erreur renvoyé par la base de donnée
Hors ligne
ah ça marche, juste ne mettant $db-query et le error à la fin, simplement. Il me semblait que j'avais deja essayé sans resultat c'etait peut-etre un petit truc en trop ou en moins, bref.
En tout cas merci de ton aide
Hors ligne
Pages : 1