php e mysql busca e variáveis ​​que passam problema

votos
0

Eu tenho o seguinte código:

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

Que é chamado pelo javascript mencionado em esta pergunta :

Meu problema é que eu não parecem ser capazes de passar $ query, como em nada aparentemente acontece quando eu chamar este arquivo por si só.

Eu tenho certeza que a melhor maneira de controlar o fluxo de informações é. É a minha lógica ok? Passando a consulta através de javascript para o arquivo php, e depois devolvê-lo com a função?

Também estou preocupado com o meu uso de $ linhas, uma vez que não parece ser necessária.

Publicado 10/12/2008 em 13:22
fonte usuário
Em outras línguas...                            


2 respostas

votos
1

Eu acho que você quer substituir este (linha 36):

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

com isso:

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

E por preocupações de segurança, a menos que você deve fazer é o material mysql_real_escape_string da postagem de spelley.

Respondeu 10/12/2008 em 14:47
fonte usuário

votos
0

No código vinculado, não vejo onde $ searchString é declarado? No PHP acima mencionado, eu vejo essas duas seções separadas:

$query ='';
if (isset($_GET["query"]))
$query = $_GET["query"];

eo código está a executar mais tarde abaixo da página é

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

Em nenhum lugar, tanto quanto eu posso ver no código, é de R $ searchString já declarado. A preocupação maior, no entanto, é que você não está saneantes sua string de consulta antes de executá-lo. Por questões de segurança, gostaria de, pelo menos, substituir:

$result = mysql_query("SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME 
                       FROM {$table} 
                       WHERE upper ARTICLE_NAME LIKE '%" . $searchString . "%'");

com

$result = mysql_query("SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME 
                       FROM {$table} 
                       WHERE upper ARTICLE_NAME LIKE '%" . mysql_real_escape_string($searchString) . "%'");

Você também deve verificar se magic quotes está ligado, para evitar a dupla-escapar.

Respondeu 10/12/2008 em 14:22
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more