php - mysql 匹配...通过引用字符串变量

标签 php mysql

我试图使用 PHP 表单中两个不同表单字段的输入在两个不同列中查找匹配项。我正在引用在我的 mysql 代码中输入到表单中的两个字符串变量,但它返回一个错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'MATCH (abcdef) AGAINST name' at line 1

我尝试了一些语法变体,但没有成功。

$name = mysql_real_escape_string($_POST['studentname']);
$num = mysql_real_escape_string($_POST['studentnum']);
$qw = "SELECT name FROM students MATCH ($name) AGAINST name";
$qw1 = "SELECT studentnum FROM students MATCH ($num) AGAINST studentnum";
$namematch = mysql_query($qw) or die(mysql_error());
$nummatch = mysql_query($qw1) or die(mysql_error());

if (($namematch || $nummatch) == FALSE) {
    die('Name or student number do not match those on record');
}

最佳答案

我相信您在 MATCH 子句中的参数是向后的。你有:

$qw = "SELECT name FROM students MATCH ($name) AGAINST name";

相反,它应该是:

$qw = "SELECT name FROM students MATCH (name) AGAINST $name";

换句话说,MATCH()与(参数)匹配,而不是相反。

http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html#function_match

关于php - mysql 匹配...通过引用字符串变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23098113/

相关文章:

javascript - 如何使用laravel和ajax设置下拉列表值?

URL 查询的 PHP parse_str 返回键名中包含 'amp' 的数组键

mysql - 如何使用 select 获取 Mysql 存储过程中的单行

php - 如何在 PHP 中打印元素数量未知的数组

php - 当我运行 shell 学说 :cache:clear-metadata for my project by symfony the redis key is very very big 时

php - 如何使用 jQuery 将数据发布到 Laravel Controller 方法中

PHP/HTML - 没有登录但来自导航链接的个人资料页面

mysql - 重命名 AWS Aurora 数据库中的列

php - PDO select 语句中的特殊字符

mysql - 全文索引 - 什么是自然语言模式