Vous n'êtes pas identifié(e).
Pages : 1
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
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
$this->recherche contient la recherche de la personne alors il peut contenir a peu près n'importe quoi.
Hors ligne
* 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
Ok j'ai trouvé le problème de ma Query mais la rien affiche lol
Hors ligne
J'ai trouvé ce post extrêmement intéressant. Merci beaucoup!
Hors ligne
Pages : 1