首页 > 解决方案 > 如果状态为空而不在php中提交表单,如何更新数据库中的状态?

问题描述

如果在使用 php 时状态为空,如何从数据库更新状态?我在 php.ini 中有这种情况。我有这个 if 条件决定是否$getstatus为空,它将从数据库更新为Avail. 我在查询数据库后尝试刷新页面。但它不会在数据库中更新。有没有在不使用 php 中的表单提交的情况下更新它?

<?php
session_start();
include "includes/connection.php";

// Display all parking slots
$sql = $connection->prepare('SELECT * FROM parkingslot where parkingslotid = 1');
$sql->execute(); // execute query
$result = $sql->get_result(); // fetch result

if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    $getstatus = $row["status"];
    echo $getstatus;
  }
}

if (empty($getstatus)) {
  $sql = $connection->prepare("UPDATE parkingslot SET status = 'Avail' where parkingslotid = 1 ");
}

?>

用于连接数据库的代码

连接.php

<?php
$server = "localhost";
$username = "root";
$password = "";

// create connection
$connection = mysqli_connect($server,$username,$password);

// check connection
if(!$connection)
{
  die("No connection found." . mysqli_connect_error());
}
else {
  // select a database
  $select_db = mysqli_select_db($connection,'smartparkingsystem');

  if(!$select_db)
  {
    $sql = 'CREATE DATABASE sample';

    // create database if no db found
    if(mysqli_query($connection,$sql)) {
      echo "Database Created";
    }
    else {
      echo "Database not found" . mysqli_connect_error() . '\n';
    }
  }
  else {
      // Database already existed
      // do nothing...
  }
}

?>

标签: phpmysqldatabase

解决方案


您可以使用此查询:

"UPDATE parkingslot SET status = 'Avail' where status IS NULL OR status = '' "

推荐阅读