我想从此查询中获取值,而是获得资源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;
}
答案 0 :(得分:2)
为什么在echo
之前使用$result=
???这是显示ResourceId
的内容。
试试这个:
$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-直接在您正在进行的查询中使用$_REQUEST
会使您的代码WIDE打开以进行sql注入。在查询中使用它们之前,需要清理变量。
2- mysql_ *函数已弃用,将在以后的php版本中删除,您应该开始使用PDO或mysqli,另外在其中一个驱动程序中使用预处理语句将保护您的代码免受SQL攻击注射时无需清理变量。