我有网页我希望用户在文本字段中输入任何数据,所以它应该在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
答案 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();
并报告其显示的内容。