在您链接到的代码中,我看不到 $searchString 的声明位置?在前面提到的 PHP 中,我看到了这两个单独的部分:
$query ='';
if (isset($_GET["query"]))
$query = $_GET["query"];
您稍后在页面下方执行的代码是
$table = 'Auctions';
$rows = getRowsByArticleSearch($searchString, $table);
据我在代码中所见,没有任何地方声明过 $searchString。然而,一个更大的问题是您没有在执行查询字符串之前对其进行清理。为了安全起见,我至少会替换:
$result = mysql_query("SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME
FROM {$table}
WHERE upper ARTICLE_NAME LIKE '%" . $searchString . "%'");
与
$result = mysql_query("SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME
FROM {$table}
WHERE upper ARTICLE_NAME LIKE '%" . mysql_real_escape_string($searchString) . "%'");
您还应该检查魔术引号是否打开,以避免双重转义。