所以我得到了这段代码:
<?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来查看它是否正确,结果不是数据库中的内容..
有人可以帮助我吗?
答案 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>';
}
}
?>