表搜索(mysql)(php)的正确语法
我想知道使用mysql\u查询来搜索表中与“key”匹配的内容的正确语法是什么 例如,假设我想搜索一个客户。假设这是一个非用户输入。即从脚本运行表搜索(mysql)(php)的正确语法,php,mysql,syntax,syntax-error,Php,Mysql,Syntax,Syntax Error,我想知道使用mysql\u查询来搜索表中与“key”匹配的内容的正确语法是什么 例如,假设我想搜索一个客户。假设这是一个非用户输入。即从脚本运行 $client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
$fetch_client = mysql_fetch_array($client_search);
如果我运行类似的程序,我会被告知语法不正确,更具体地说,错误是
`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 'crmurl` LIKE '%Fake%' ORDER BY `client_name`' at line 1`
然而,我看不出有什么不对劲,有没有人有敏锐的眼睛可以帮助我
注意:我真的不想让5+个人告诉我mysql是如何过时的,它应该使用PDO:,我知道,但它是一个快速脚本,不需要用户输入,并且具有经过清理的表数据。因为您将整个查询包含在双引号中,不需要追加sql字符串,因为在双引号中,所有PHP变量都将被相应的值替换。您还遗漏了fieldname客户端名称中的一个反勾号 将查询更改为
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%$_POST['key']%' OR `crmurl` LIKE '%$_POST['key']%' ORDER BY `client_name`") or die(mysql_error());
由于将整个查询括在双引号内,因此不需要附加sql字符串,因为在双引号内,所有PHP变量都将被相应的值替换。您还遗漏了fieldname客户端名称中的一个反勾号 将查询更改为
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%$_POST['key']%' OR `crmurl` LIKE '%$_POST['key']%' ORDER BY `client_name`") or die(mysql_error());
试着这样做:
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name LIKE '%$_POST[key]%' OR `crmurl` LIKE '%$_POST[key]%' ORDER BY `client_name`") or die(mysql_error());
$fetch_client = mysql_fetch_array($client_search);
试着这样做:
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name LIKE '%$_POST[key]%' OR `crmurl` LIKE '%$_POST[key]%' ORDER BY `client_name`") or die(mysql_error());
$fetch_client = mysql_fetch_array($client_search);
将SQL查询更改为
SELECT * FROM `clients` WHERE `client_name` LIKE '%$_POST[key]%' OR `crmurl` LIKE '%$_POST[key]%' ORDER BY `client_name`"
或
将SQL查询更改为
SELECT * FROM `clients` WHERE `client_name` LIKE '%$_POST[key]%' OR `crmurl` LIKE '%$_POST[key]%' ORDER BY `client_name`"
或
像这样修改您的查询
"SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`"
客户端名称缺少一个反勾号这样修改您的查询
"SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`"
在对列名的查询中,缺少客户端名称的反勾号
Select * from `clients` WHERE `client_name` ...
所以查询应该是这样的-
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
在对列名的查询中缺少`
Select * from `clients` WHERE `client_name` ...
所以查询应该是这样的-
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
您缺少表名处的结尾。 换成
WHERE `client_name`
那么最终的查询将是
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
您缺少表名处的结尾。 换成
WHERE `client_name`
那么最终的查询将是
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
您的SQL语法有错误
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
替换
`客户名称
与
客户名称
因此,您的查询将如下所示
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
您的SQL语法有错误
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());
替换
`客户名称
与
客户名称
因此,您的查询将如下所示
$client_search = mysql_query("SELECT * FROM `clients` WHERE `client_name` LIKE '%".$_POST['key']."%' OR `crmurl` LIKE '%".$_POST['key']."%' ORDER BY `client_name`") or die(mysql_error());