Archives FluxBB.fr

Les archives de FluxBB.fr

Vous n'êtes pas identifié(e).

#1 12-12-2006 23:50:44

zorino
Membre

[Résolu] script perso avec common.php

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

#2 13-12-2006 00:02:25

dahousemix
Membre

Re : [Résolu] script perso avec common.php

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

#3 13-12-2006 00:23:30

zorino
Membre

Re : [Résolu] script perso avec common.php

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

#4 13-12-2006 00:32:43

vin100
Membre

Re : [Résolu] script perso avec common.php

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

#5 13-12-2006 01:06:27

zorino
Membre

Re : [Résolu] script perso avec common.php

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

#6 13-12-2006 09:01:08

vin100
Membre

Re : [Résolu] script perso avec common.php

zorino a écrit :

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

#7 13-12-2006 12:31:08

zorino
Membre

Re : [Résolu] script perso avec common.php

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

Pied de page des forums