我有一个JS文件,感谢ajax,让我在POSTGRESQL DB上执行查询。
由于ajax和php,我已经执行了其他查询,但这是我第一次使用POSTGRESQL。
php代码:
function deletepic($idpic,$nomefoto){
global $link;
$query1 = pg_query($link,"SELECT FROM foto WHERE idf=$idpic AND nome='$nomefoto';");
if(!$query1){
return;
} else {
unlink("img/photo/" . $nomefoto);
unlink("img/preview_photo/" . $nomefoto);
$query = pg_query($link,"DELETE FROM foto WHERE idf=$idpic;");
if (!$query) { //SE LA QUERY NON E ANDATA A BUON FINE
$return = 'Errore durante eliminazione';
} else {
$return = 'Immagine eliminata';
}
}
echo $return;
}
如果我评论第一个($query1
)查询,则执行另一个查询,但我也需要执行第一个查询。我已经检查过"$nomefoto"
和数据库之间是否存在对应关系。如您所见,我将''
放在$nomefoto
附近,但那只是我最后的努力。我已经尝试过不带引号的字符串,双引号也是这样:
"'".$nomefoto."'"
。
似乎没有任何效果。
在数据库中保存"nome"
时没有任何报价。
我已使用以下格式直接从http://localhost/phppgadmin/执行查询:
SELECT * FROM foto WHERE idf=92 AND nome='4516Tulips.jpg';
名称周围有单引号('
)。它有效!
感谢您的帮助。
答案 0 :(得分:0)
select
命令后面必须跟不在查询中的值列表:
select 1
from foto
where idf=$idpic and nome='$nomefoto'
顺便说一句,不需要两个查询:
delete from foto
where idf=$idpic and nome='$nomefoto'
returning *
如果有的话,它将返回已删除的行,否则返回空结果。