将查询结果保存在var中

时间:2013-06-27 10:33:44

标签: php image

所以我得到了这段代码:

<?php
include('dbconnect.php');
if(isset($_POST['remover']))
{
$nome = $_POST['nome'];
$result = mysql_query("select imagem from sitio WHERE id_sitio='".$nome."'");
$query=mysql_query("DELETE FROM sitio WHERE id_sitio='".$nome."'") or die (mysql_error());
if($query === true)
  {
    $sucesso = '<span  class="yes">Sitio removido com sucesso!</span>';
    echo $sucesso;
    echo $result;
  }
  else
    {
        $erro = '<span class="error">Ocorreu um erro!</span>';
        echo $retorno;
    }
}
?>

我想要从数据库中选择图像名称。该脚本从db中删除数据,因此查询正常。但是$ result不会返回图像的名称。它返回资源ID#10。我想这样做,然后取消图像链接。我只是使用echo来查看它是否正确,结果不是数据库中的内容..

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

您尚未收集第一个查询的结果。 mysql_query()在使用select查询运行时会生成结果集,有点像临时表,只包含您在查询中指定的字段。 这可以包含一行,也可以包含多行。 一旦mysql_query()成功运行,您必须使用

一次从结果集中获取一行数据
mysql_fetch_object()
mysql_fetch_array()
mysql_fetch_assoc()
mysql_fetch_row()

每个都以稍微不同的格式传递行,即数组或对象或仅仅是一个字段。

查看此处的手册PHP mysql functions

尝试此代码,例如:

<?php
    include('dbconnect.php');
    if(isset($_POST['remover'])) {
        $nome = $_POST['nome'];
        $result = mysql_query("select imagem from sitio WHERE id_sitio='".$nome."'");
        // collect the data from the previous query
        $sitio = mysql_fetch_object($result);

        $query=mysql_query("DELETE FROM sitio WHERE id_sitio='".$nome."'") or die (mysql_error());
        if($query === true) {
            echo '<span  class="yes">Sitio removido com sucesso!</span>';
            echo $sitio->imagem;
        }  else  {
            echo '<span class="error">Ocorreu um erro!</span>';
        }
    }
?>