Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 25/05/2009 22:37:22
- greatman
- Membre
Problème de SELECT * avec un Full search
Allo all!
J'ai présentement un problème avec ma commande sql.
J'obtient cette erreur:
Warning: pg_query() [function.pg-query]: Query failed: ERREUR: chaîne entre guillemets non terminée sur ou près de « ') » LINE 1: ...uery('asdf') AND etat=1 ORDER BY id DESC OFFSET 0 LIMIT 10') ^
Voici ma commande SQL:
SELECT lien,meta_title FROM lien WHERE lien @@ to_tsquery('".$this->recherche."') AND etat=1 ORDER BY id DESC OFFSET ".$premiermessage." LIMIT ".$this->nbre_lien_page."
Ma table SQL:
--
-- PostgreSQL database dump
--
SET client_encoding = 'LATIN1';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;
SET search_path = public, pg_catalog;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: lien; Type: TABLE; Schema: public; Owner: greatmanpers_crawler; Tablespace:
--
CREATE TABLE lien (
id integer NOT NULL,
lien text NOT NULL,
meta_title text,
etat integer,
namelookup_time text
);
ALTER TABLE public.lien OWNER TO greatmanpers_crawler;
--
-- Name: lien_id_seq; Type: SEQUENCE; Schema: public; Owner: greatmanpers_crawler
--
CREATE SEQUENCE lien_id_seq
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.lien_id_seq OWNER TO greatmanpers_crawler;
--
-- Name: lien_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: greatmanpers_crawler
--
ALTER SEQUENCE lien_id_seq OWNED BY lien.id;
--
-- Name: lien_namelookup_time_seq; Type: SEQUENCE; Schema: public; Owner: greatmanpers_crawler
--
CREATE SEQUENCE lien_namelookup_time_seq
START WITH 1
INCREMENT BY 1
NO MAXVALUE
NO MINVALUE
CACHE 1;
ALTER TABLE public.lien_namelookup_time_seq OWNER TO greatmanpers_crawler;
--
-- Name: lien_namelookup_time_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: greatmanpers_crawler
--
ALTER SEQUENCE lien_namelookup_time_seq OWNED BY lien.namelookup_time;
--
-- Name: id; Type: DEFAULT; Schema: public; Owner: greatmanpers_crawler
--
ALTER TABLE lien ALTER COLUMN id SET DEFAULT nextval('lien_id_seq'::regclass);
--
-- Name: lien_pkey; Type: CONSTRAINT; Schema: public; Owner: greatmanpers_crawler; Tablespace:
--
ALTER TABLE ONLY lien
ADD CONSTRAINT lien_pkey PRIMARY KEY (id);
--
-- Name: search; Type: INDEX; Schema: public; Owner: greatmanpers_crawler; Tablespace:
--
CREATE INDEX search ON lien USING gin (to_tsvector('english'::regconfig, meta_title));
--
-- PostgreSQL database dump complete
--
Merci d'avance!
Greatman
Hors ligne
#2 26/05/2009 07:23:17
- jmax
- Membre
Re : Problème de SELECT * avec un Full search
c'est plutôt avec ton code php que tu as un soucis et surtout avec ce que tu mets dans this->recherche
Hors ligne
#3 26/05/2009 13:39:10
- greatman
- Membre
Re : Problème de SELECT * avec un Full search
$this->recherche contient la recherche de la personne alors il peut contenir a peu près n'importe quoi.
Hors ligne
#4 26/05/2009 18:35:24
- Marc Cousin
- Membre
Re : Problème de SELECT * avec un Full search
* Si recherche peut contenir n'importe quoi, il peut contenir le caractère ', ce qui poserait problème
* Il faut que recherche soit testé pour éviter les caractères comme "'" , ";" et quelques autres, afin d'éviter les injections SQL ...
Marc.
Hors ligne
#5 26/05/2009 23:29:27
- greatman
- Membre
Re : Problème de SELECT * avec un Full search
Ok j'ai trouvé le problème de ma Query mais la rien affiche lol
Hors ligne
#6 09/08/2009 09:47:21
- JollyAnt
- Membre
Re : Problème de SELECT * avec un Full search
J'ai trouvé ce post extrêmement intéressant. Merci beaucoup!
Hors ligne
Pages : 1