Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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和mysql搜索和传递变量问题_Php_Javascript_Sql_Ajax - Fatal编程技术网

php和mysql搜索和传递变量问题

php和mysql搜索和传递变量问题,php,javascript,sql,ajax,Php,Javascript,Sql,Ajax,我有以下代码: 这是由中提到的javascript调用的: 我的问题是,我似乎无法传递$query,因为当我单独调用这个文件时,似乎什么都没有发生 我不确定控制信息流的最佳方式是什么。我的逻辑行吗?通过javascript将查询传递到php文件,然后使用函数返回它 我还担心使用$rows,因为它似乎不是必需的。在您链接到的代码中,我看不到$searchString在哪里声明?在前面提到的PHP中,我看到了以下两个单独的部分: $query =''; if (isset($_GET["query

我有以下代码:

这是由中提到的javascript调用的:

我的问题是,我似乎无法传递$query,因为当我单独调用这个文件时,似乎什么都没有发生

我不确定控制信息流的最佳方式是什么。我的逻辑行吗?通过javascript将查询传递到php文件,然后使用函数返回它


我还担心使用$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);