如何检查mySQL服务器数据库中是否存在某个值?

时间:2018-01-07 02:42:02

标签: php mysql

我在php / html中有一个选择选项表单。在选择选项表单中,我把php放在这样:

<option name="time" value="0900"><?php $a=$r1; echo $a;?></option>

上面我需要一些PHP代码来执行以下操作:

在我的数据库中搜索值0900;如果找到它,给变量$ r1一个NULL值,这样就不会出现该选项,否则给它值0900。

基本上,我需要的是告诉我如何在数据库中搜索值并相应地给变量赋值。提前致谢。

编辑:这是我的一点

$conn= new mysqli($servername, $username, $password, $dbname);

$sql = "SELECT time FROM Guidance";

$result = $conn->query($sql);

我的数据库中唯一的时间是'volvo';但当我回应$ result时,我什么都没得到。为什么呢?

1 个答案:

答案 0 :(得分:0)

我假设你有表t1t1有列value1,你想在value1上搜索0900。

要在t1.value1中搜索,可以使用SELECT COUNT(*)

要在找到0900时使选项消失,只需使用if

// php code, use PDO for mysql
// this PDO arguments depend on your mysql environment, username, password
$dbh = new PDO('mysql:host=localhost;dbname=testdb;charset=utf8mb4', 'username', 'password');
$sql = 'select COUNT(*) name from t1 where value1 = 0900';
$stmt = $dbh->query($sql);
$count = $stmt -> fetchColumn();
// $count is a value how many 0900 has found.

if ($count > 0) {
  $r1 = null;
else {
  $r1 = '0900';
}

// output html
<?php if ($r1 != null) { ?>
  <option name="time" value="0900"><?php $a=$r1; echo $a;?></option>
<?php } ?>