我试图从特定行中选择标题列
$eventid = $_GET['id'];
$field = $_GET['field'];
$result = mysql_query("SELECT $field FROM `events` WHERE `id` = '$eventid' ");
echo $result;
Run Code Online (Sandbox Code Playgroud)
我得到的只是 Resource id #19
我该怎么办?什么是最好的方法?
Fra*_*anz 17
试试这个:
echo mysql_result($result, 0);
Run Code Online (Sandbox Code Playgroud)
这就足够了,因为您只获取一行中的一个字段.
dfi*_*ovi 10
$eventid = $_GET['id'];
$field = $_GET['field'];
$result = mysql_query("SELECT $field FROM `events` WHERE `id` = '$eventid' ");
$row = mysql_fetch_array($result);
echo $row[$field];
Run Code Online (Sandbox Code Playgroud)
但要注意sql注入导致您在查询中直接使用$ _GET.注入的危险特别严重,因为没有数据库函数来转义标识符.相反,您需要通过白名单传递字段,或者(更好的是)在列名外部使用不同的名称,并将外部名称映射到列名.无效的外部名称将导致错误.