2015-01-16 24 views
-2

我想從這個查詢獲得的價值和insted的,我得到的資源ID#10PHP,SQL資源ID#10。我如何獲得價值?

echo$result = mysql_query("SELECT car.currentkm FROM car INNER JOIN details ON car.id= ".$_REQUEST['cartype']." AND details.cartype = ".$_REQUEST['cartype'].""); 
if (mysql_num_rows($result)) { 
    $old = mysql_fetch_assoc($result); 
    echo$old['oldkm']; 
} 
else { 
    echo 1; 
} 
+3

我無法讓你的代碼變得有意義,你爲什麼迴應你的$ result = mysql_query?你只是在拿現在的Km,但你試圖顯示oldkm?其次,MySQL已經過時並且安全性存在缺陷,您應該使用PDO或mysqli代替。 – Epodax

回答

2

你爲什麼要使用echo$result=前???這是什麼顯示ResourceId。直接使用$_REQUEST內查詢像你這樣做使你的代碼敞開的SQL注入

$result = mysql_query("SELECT car.currentkm FROM car INNER JOIN details ON car.id= ".$_REQUEST['cartype']." AND details.cartype = ".$_REQUEST['cartype'].""); 
if (mysql_num_rows($result)) { 
    $old = mysql_fetch_assoc($result); 
    echo $old['currentkm']; 
} 
else { 
    echo 1; 
} 

N.B:

1:

嘗試。在查詢中使用它們之前,您需要清理變量。我們建議您使用PDOmysqli,另外在其中一個驅動程序中使用準備好的語句將會保護您的代碼免受sql注入的攻擊,而不必清理變量。