PHP MySQL单列/行显示?

时间:2011-03-07 10:17:32

标签: php mysql


我试图从我的数据库中获得一个结果,只有一个名字 我尝试过使用;

$row = mysql_fetch_array(mysql_query("SELECT * FROM persons WHERE id = '$id'"));
echo $row['name'];

但这不起作用,任何其他方式只显示一个结果?
提前谢谢!

[编辑:]
(我使用的是PHP 5.3)

<?php
include("connection.php");
$id = $_GET['deletid'];
$result = mysql_query("SELECT * FROM persons WHERE id = '$id' LIMIT 1");
if(!$result){
    echo mysql_error();
}
if ($row = mysql_fetch_array($result)){
    echo $row['name'];
}
echo "<p>id:$id</p>";
?>

2 个答案:

答案 0 :(得分:2)

如果您只需要名称,并且只需要一个结果,则应按以下步骤重写查询:

$row = mysql_fetch_array(mysql_query("SELECT name FROM persons WHERE id = '". (int) $id ."' LIMIT 1"));

现在要获得结果,你应该用

来获得它
$row['name'];

修改 既然您发布了整个代码,那我就错了:您在获取其名称之前删除了该结果。基本上你删除该用户然后尝试获取其名称。 的修改

<?php
include("connection.php");
    if (empty($_GET['deleteid'])) { 
        exit('"deleteid" is empty'); 
    }
$id = mysql_real_escape_string($_GET['deletid']);
$result = mysql_query("SELECT name FROM persons WHERE id = '". (int) $id ."' LIMIT 1");
    if(!$result){
        echo mysql_error();
    }
$row = mysql_fetch_assoc($result); // for just one result you don't need of any loop
echo $row['name'];

echo "<p>id:". htmlspecialchars($id) ."</p>";
?>

答案 1 :(得分:0)

尝试

$row = mysql_fetch_array(mysql_query("SELECT name FROM persons WHERE id = ". (int) $id));

echo $row['name'];