php - postgresql 在执行准备好的语句时检查是否存在

标签 php postgresql

我正在准备一些语句并想在更新之前检查该行是否存在。如果存在则更新它,如果不存在则输出消息“No such animal”。我有更新位工作,但不确定如何检查该行是否存在。请协助。

$v = array();
$v[] = $_POST['status'];
$v[] = $_POST['id'];

$dbh = dbh_get();

$sql = 'UPDATE tap SET status=?
    WHERE id =?';

$stmt = $dbh->prepare($sql);
$stmt->execute($v);

\\ if row isn't there display message "No such animal"

\\ otherwise print the below

printf("Status was changed to - %s", $v[0]);

\\then either way have my continue button for me to click on

print '<div class="button" style="float:left;" onclick="window.location.href=\'admin.php\';">Admin</div>' . "\n";

dbh_free($dbh)

最佳答案

根据您的问题,您想在执行更新之前检查该行是否存在。你可以试试这个 -

 $id_exist = 0;
 $sql = "SELECT id
         FROM tap" ;

$sql_prepare = $dbh->prepare($sql);
$sql_prepare->execute();
while($row = $sql_prepare->fetchObject()) {
   if($_POST['id'] == $row->id) {
      $id_exist = 1;
    } 

}
if($id_exist == 1) {
// perform update here
} else {
  echo 'No such animal';
 }

关于php - postgresql 在执行准备好的语句时检查是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31556448/

相关文章:

php - php中错误处理的正确方法

javascript - 从动态表单获取数据到javascript并返回计算

PHP SOAP 传输文件

php - 从 Magento 集合中获取数据

postgresql - 关于如何根据 2 个标识符构建我的数据库的建议?

python - 将 python 列表插入 Postgres 数据库

php - 解析多维数组php中的项目

eclipse - 使用 postgresql 在 Eclipse 中设置断点

sql - 使用GORM和PostgreSQL查找半径10km附近的所有行

java - 从 postgresql-9.1 服务获取 LD_LIBRARY_PATH 值