php和mysql搜索和传递变量问题
我有以下代码: 这是由中提到的javascript调用的: 我的问题是,我似乎无法传递$query,因为当我单独调用这个文件时,似乎什么都没有发生 我不确定控制信息流的最佳方式是什么。我的逻辑行吗?通过javascript将查询传递到php文件,然后使用函数返回它php和mysql搜索和传递变量问题,php,javascript,sql,ajax,Php,Javascript,Sql,Ajax,我有以下代码: 这是由中提到的javascript调用的: 我的问题是,我似乎无法传递$query,因为当我单独调用这个文件时,似乎什么都没有发生 我不确定控制信息流的最佳方式是什么。我的逻辑行吗?通过javascript将查询传递到php文件,然后使用函数返回它 我还担心使用$rows,因为它似乎不是必需的。在您链接到的代码中,我看不到$searchString在哪里声明?在前面提到的PHP中,我看到了以下两个单独的部分: $query =''; if (isset($_GET["query
我还担心使用$rows,因为它似乎不是必需的。在您链接到的代码中,我看不到$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 . "%'");
与
您还应该检查是否启用了magic quotes,以避免双重转义。我认为您需要替换此项(第36行): 为此:
$rows = getRowsByArticleSearch($query, $table);
出于安全考虑,您至少应该做的是从spelley的帖子中下载mysql\u real\u escape\u字符串
$rows = getRowsByArticleSearch($searchString, $table);
$rows = getRowsByArticleSearch($query, $table);