Проблема поиска и передачи переменных в php и mysql - PullRequest
0 голосов
/ 10 декабря 2008

У меня есть следующий код:

http://www.nomorepasting.com/getpaste.php?pasteid=22615

Который называется javascript, упомянутым в этот вопрос :

Моя проблема в том, что я, кажется, не могу передать $ query, как будто ничего не происходит, когда я вызываю этот файл сам по себе.

Я не уверен, что лучший способ контролировать поток информации. Моя логика в порядке? Передача запроса через javascript в файл php, а затем возврат его с помощью функции?

Я также обеспокоен тем, как я использую $ row, так как это не требуется.

Ответы [ 2 ]

1 голос
/ 10 декабря 2008

Я думаю, вы хотите заменить это (строка 36):

$rows = getRowsByArticleSearch($searchString, $table);

с этим:

$rows = getRowsByArticleSearch($query, $table);

И по соображениям безопасности, по крайней мере, вы должны сделать mysql_real_escape_string материал из сообщения Спелли.

0 голосов
/ 10 декабря 2008

В коде, на который вы ссылаетесь, я не вижу, где объявлен $ 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) . "%'");

Вам также следует проверить, включены ли магические кавычки, чтобы избежать двойного побега.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...