php ve mysql değişkenleri sorunu arıyor ve geçen

2 Cevap php

Ben aşağıdaki kodu vardır:

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

Belirtilen javascript denir this question:

Benim sorunum, ben kendisi tarafından bu dosyayı çağırdığınızda görünüşte olur hiçbir şey olduğu gibi, $ sorgu geçmek mümkün görünmüyor olmasıdır.

Ben bilgi akışını kontrol etmek için en iyi yolu nedir emin değilim. Benim mantık Tamam mı? Php dosyasına javascript ile sorgu geçen ve daha sonra işlevi ile dönen?

Bu gerekli görünmüyor gibi ben de $ satır benim kullanımı hakkında endişe duyuyorum.

2 Cevap

Bunu (line 36) değiştirmek istediğiniz düşünüyorum:

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

Bu ile:

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

Ve güvenlik kaygıları için, yapmanız gereken en az spelley en görevinden mysql_real_escape_string şeyler.

$ SearchString beyan nereye bağlı kodda, ben göremiyorum? Anılan PHP, ben bu iki ayrı bölümlere bakın:

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

ve sayfa aşağı daha sonra yürütme kodu

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

Hiçbir yerde, bildiğim kadarıyla kodda görebileceğiniz gibi, hiç beyan $ searchString olduğunu. Daha büyük endişe, ancak, bunu yürütmeden önce sorgu dizesi hijyen olmamasıdır. Tahvilin aşkına, ben en azından yerini alacak:

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

ile

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

Ayrıca sihirli tırnak çift kaçmasını önlemek için, açık olup olmadığını kontrol etmelisiniz.