Sto convertendo tutto il codice dei miei siti dall'utilizzo delle funzioni mysql_ * a PDO. La documentazione PHP su PDO non è chiara per le mie esigenze. Ti dà le funzioni da usare, ma non entra nei dettagli per spiegarle in diversi scenari.PDO e MySQL Ricerche di testo completo
Fondamentalmente, ho una ricerca full-text di MySQL:
$sql = "SELECT ... FROM search_table WHERE MATCH(some_field) AGAINST ('{$searchFor}*' IN BOOLEAN MODE)";
Il bilancio attuale molto più a lungo, ma questo è ciò che fa in fondo.
La mia domanda è, come inserirò questo in PDO?
So che non si intende utilizzare le virgolette intorno al segnaposto, quindi li si lascia fuori nella funzione AGAINST()? Li includo? Se li lascio fuori, cosa succede al simbolo jolly ecc?
$sql = $this->db->prepare("SELECT ... FROM search_table WHERE MATCH(some_field) AGAINST(:searchText IN BOOLEAN MODE");
$sql->bindValue(':searchText', $searchFor . '*');
la ringrazio molto per la risposta, e la soluzione alternativa :) –
non riesco a riprodurre questo comportamento "strano" si sta parlando. 'CONTRO (? IN MODALITÀ BOOLEANO)' funziona a dovere per me. Quale versione di Mysql stai usando? –
Naturalmente la modalità di emulazione è disattivata e ricontrollata. –