Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php代码中的SQL语法错误_Php_Mysql - Fatal编程技术网

php代码中的SQL语法错误

php代码中的SQL语法错误,php,mysql,Php,Mysql,我使用POST从android传递值,并使用PHP在sqldb中运行查询。我总是很紧张 您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“”附近 如果我直接将值传递给POST[],代码工作正常 我经历了这么多,但没有问题解决我的问题。我也试过使用mysql\u real\u escape\u string($searchTermBits),但没有成功 PHP: <?php $username = "xxxx"; $password

我使用
POST
从android传递值,并使用PHPsqldb中运行查询。我总是很紧张

您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行的“”附近

如果我直接将值传递给POST[],代码工作正常

我经历了这么多,但没有问题解决我的问题。我也试过使用
mysql\u real\u escape\u string($searchTermBits)
,但没有成功

PHP

<?php
$username    = "xxxx";
$password    = "xxxx";
$host        = "xxxx";
$database    = "xxxx";
$server      = mysql_connect($host, $username, $password);
$connection  = mysql_select_db($database, $server);
$search      = $_POST["deskey"];
$search      = explode(" ", $search);
$commonwords = "a,an,and,I,it,is,do,does,for,from,go,how,the,etc,in,on,are";
$commonwords = explode(",", $commonwords);
foreach ($search as $value)
  {
    if (!in_array($value, $commonwords))
      {
        $query[] = $value;
      }
  }

$query          = implode(" ", $query);
$searchTerms    = explode(" ", $query);
$searchTermBits = array();
foreach ($searchTerms as $term)
  {
    $term = trim($term);
    if (!empty($term))
      {
        $searchTermBits[] = "description LIKE '%$term%'";
      }
  }

$myquery = "SELECT * FROM `logins` WHERE " . implode(' OR ', mysql_real_escape_string($searchTermBits)) . "";
$query   = mysql_query($myquery);
if (!$query)
  {
    echo mysql_error();
    die;
  }
$data = array();
for ($x = 0; $x < mysql_num_rows($query); $x++)
  {
    $data[] = mysql_fetch_assoc($query);
  }
echo json_encode($data);
mysql_close($server);
?>

echo$myquery的输出是什么?
试试这个:
像“%”这样的描述。$term.“%”
您发布的查询看起来不错,但与代码中使用的不同。您能否发布
echo$myquery
语句的确切输出。此语句必须是定义
myquery
变量后的下一个语句。@user2269164您正在使用
内爆,结果查询有
非常奇怪,不是吗d注意:
mysql.*
函数已被弃用,它们已从PHP7中删除,当您升级到该版本时,您的代码将停止工作。您不应该使用它们编写新代码,而应该使用。