使用sql从mysql表中选择数据

时间:2013-04-19 07:11:56

标签: php javascript html mysql

我有网页我希望用户在文本字段中输入任何数据,所以它应该在mysql表中检查如果类别就像用户输入的文本那么显示结果这里是我的php页面代码:

   <?php
   $host  = "surveyipad.db.6420177.hostedresource.com"; 
   $user  = ""; 
   $pass  = ""; 
   $database ="surveyipad"; 


   $linkID = mysql_connect($host, $user, $pass) or die("Could not connect to host."); 
   mysql_select_db($database, $linkID) or die("Could not find database."); 

  if (!function_exists('json_encode'))
  {
   function json_encode($a=false)
  {
  if (is_null($a)) return 'null';
  if ($a === false) return 'false';
  if ($a === true) return 'true';
  if (is_scalar($a))
  {
  if (is_float($a))
  {
    // Always use "." for floats.
    return floatval(str_replace(",", ".", strval($a)));
  }

  if (is_string($a))
  {
    static $jsonReplaces = array(array("\\", "/", "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
    return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
  }
  else
    return $a;
  }
   $isList = true;
   for ($i = 0, reset($a); $i < count($a); $i++, next($a))
  { 
  if (key($a) !== $i)
  {
    $isList = false;
    break;
  }
  }
 $result = array();
 if ($isList)
 {
  foreach ($a as $v) $result[] = json_encode($v);
  return '[' . join(',', $result) . ']';
 }
 else
 {
  foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
  return '{' . join(',', $result) . '}';
 }
 }
 }


   $flu=$_POST['searchCode'];


 $query =mysql_query("SELECT * From catalog_Master WHERE category_Title LIKE '%".$flu."%' ");
 $rows = array();
 while($row = mysql_fetch_assoc($query)) {
 $rows[] = $row;
 }

 echo json_encode($rows);
 ?>

html页面代码

  <HTML>
  <head>API TESTING</head>
  <body>
  <form  action="searchCatalog.php" method="post">
  <input type="text" value="enter category"/>
  <input type="submit" value="Enter To Get Value"/>
  </form>

  </body>
  </HTML>    

显示如下错误

 Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/content/i/h/u/ihus235/html/cs/pah_brd_v1/productivo/searchCatalog.php on line 63

2 个答案:

答案 0 :(得分:3)

可能是问题是您的查询有必要查看查询和mysql错误消息

请尝试此操作并发布输出

$query =mysql_query("SELECT * From catalog_Master WHERE category_Title LIKE '%".$flu."%' ") or die ("query error ".mysql_error());

答案 1 :(得分:1)

看起来$query可能有一些错误。这就是为什么没有东西可以取。而且,你的代码是不安全的。您放置$_POST值而不转义它进行查询。

mysql_* 被删除,您应该使用PDO代替。

使用mysql_query()

echo mysql_error();

并报告其显示的内容。