在 MySQL 中使用 FULLTEXT 是否需要我在 PHP 中使用不同的语法来检索结果?
Does using FULLTEXT in MySQL require for me to use a different syntax in PHP to retrieve the results?
这是我的代码:
$terminosBuscados = 'Vender la porteria'
$x = $conectarDB->prepare("
SELECT DISTINCT
titulo,
FROM_UNIXTIME(fecha, '%d-%m-%Y') AS fecha,
cuerpo,
tipoContenido,
autor
FROM searchIndex
WHERE match(titulo)
AGAINST (' ? ' IN BOOLEAN MODE)
ORDER BY contenidoID DESC
");
$x->bindParam(1, $terminosBuscados);
$x->execute();
$y = $x->fetchAll(PDO::FETCH_ASSOC);
这根本没有显示任何结果 ($y
returns null
),当在 phpMyAdmin 中尝试查询本身确实有效并显示结果时。
我刚刚在 table 中添加了一个 FULLTEXT 索引,并调整了我的工作代码以使用该索引。
为了mysql'? ' 是一个字符串,不会用作 palce holfer。
如果您需要空格,请使用 CONCAT(' ',?,' ')
$x = $conectarDB->prepare("
SELECT DISTINCT
titulo,
FROM_UNIXTIME(fecha, '%d-%m-%Y') AS fecha,
cuerpo,
tipoContenido,
autor
FROM searchIndex
WHERE match(titulo)
AGAINST (CONCAT(' ',?,' ') IN BOOLEAN MODE)
ORDER BY contenidoID DESC
");
$x->bindParam(1, $terminosBuscados);
$x->execute();
$y = $x->fetchAll(PDO::FETCH_ASSOC);
这是我的代码:
$terminosBuscados = 'Vender la porteria'
$x = $conectarDB->prepare("
SELECT DISTINCT
titulo,
FROM_UNIXTIME(fecha, '%d-%m-%Y') AS fecha,
cuerpo,
tipoContenido,
autor
FROM searchIndex
WHERE match(titulo)
AGAINST (' ? ' IN BOOLEAN MODE)
ORDER BY contenidoID DESC
");
$x->bindParam(1, $terminosBuscados);
$x->execute();
$y = $x->fetchAll(PDO::FETCH_ASSOC);
这根本没有显示任何结果 ($y
returns null
),当在 phpMyAdmin 中尝试查询本身确实有效并显示结果时。
我刚刚在 table 中添加了一个 FULLTEXT 索引,并调整了我的工作代码以使用该索引。
为了mysql'? ' 是一个字符串,不会用作 palce holfer。
如果您需要空格,请使用 CONCAT(' ',?,' ')
$x = $conectarDB->prepare("
SELECT DISTINCT
titulo,
FROM_UNIXTIME(fecha, '%d-%m-%Y') AS fecha,
cuerpo,
tipoContenido,
autor
FROM searchIndex
WHERE match(titulo)
AGAINST (CONCAT(' ',?,' ') IN BOOLEAN MODE)
ORDER BY contenidoID DESC
");
$x->bindParam(1, $terminosBuscados);
$x->execute();
$y = $x->fetchAll(PDO::FETCH_ASSOC);