检查数据库是不是已填充[重复]

Posted

技术标签:

【中文标题】检查数据库是不是已填充[重复]【英文标题】:Checking if database is already filled [duplicate]检查数据库是否已填充[重复] 【发布时间】:2014-07-16 07:43:04 【问题描述】:

我正在尝试检查某个字段是否已填充数据库中的数据。如果是,我想更新信息,但如果它是空的,我想将信息插入数据库。但它现在不起作用:

$info = $_POST['info'];
$gebruiker = $_POST['gebruiker'];
$getnamequery = mysql_query("SELECT fysionummer  
                             FROM algemene_info WHERE fysionummer = '$gebruiker'");
$result = mysql_query($getnamequery) or die(mysql_error());

$row = mysql_fetch_row($result);

if ($gebruiker === $row)  

    $sql = 'UPDATE algemene_info
            SET omschrijving=$info
        WHERE fysionummer=$gebruiker';


    echo "Het update van de algemene informatie is geslaagd!";

 else 

    mysql_query("INSERT INTO algemene_info (`info_id`, `omschrijving`, `fysionummer`)
            VALUES (NULL, '$info', '$gebruiker')") or die (mysql_error());

    echo "Het toevoegen van de oefening is geslaagd!";


【问题讨论】:

查看插入...更新重复键 请注意,mysql 扩展已经被弃用了很长一段时间,现在有利于 mysqli 和 PDO 扩展。强烈建议不要使用它。见***.com/questions/12859942/… 【参考方案1】:
HI Complete solution as follows,

  $info = $_POST['info'];
 $gebruiker = $_POST['gebruiker'];
   $getnamequery = mysql_query("SELECT fysionummer  FROM algemene_info WHERE fysionummer = '$gebruiker'");
      $result = mysql_query($getnamequery) or die(mysql_error());

$num = mysql_num_rows($result);

if($num != "")

     $sql = 'UPDATE algemene_info
     SET omschrijving=$info
      WHERE fysionummer=$gebruiker';
     mysql_query($sql) or die("!query");
    echo "Het update van de algemene informatie is geslaagd!";


 else
         
   mysql_query("INSERT INTO algemene_info (`info_id`, `omschrijving`, `fysionummer`)
 VALUES (NULL, '$info', '$gebruiker')") or die (mysql_error());
echo "Het toevoegen van de oefening is geslaagd!";
        

【讨论】:

您能在代码中添加一些解释吗? 我更新了答案。【参考方案2】:

试试这个

$info = $_POST['info'];
$gebruiker = $_POST['gebruiker'];
$result = mysqli_query("SELECT *  
                             FROM algemene_info WHERE fysionummer = '$gebruiker'");

$row = mysql_fetch_array($result);

$qry = "INSERT INTO algemene_info (`info_id`, `omschrijving`, `fysionummer`) VALUES ($row['info_id'],'$info', '$gebruiker') ON DUPLICATE KEY UPDATE omschrijving='$info'";
mysqli_query($qry);

【讨论】:

【参考方案3】:

试试这个:

$info = $_POST['info'];
$gebruiker = $_POST['gebruiker'];
$getnamequery = mysql_query("SELECT fysionummer  FROM algemene_info WHERE fysionummer = '$gebruiker'");
$result = mysql_query($getnamequery) or die(mysql_error());
$row = mysql_fetch_array($result);
if ($gebruiker == $row['fysionummer']) 
$sql = 'UPDATE algemene_info
         SET omschrijving=$info
          WHERE fysionummer=$gebruiker';
echo "Het update van de algemene informatie is geslaagd!";
 else 
mysql_query("INSERT INTO algemene_info (`info_id`, `omschrijving`, `fysionummer`)
    VALUES (NULL, '$info', '$gebruiker')") or die (mysql_error());
echo "Het toevoegen van de oefening is geslaagd!";

【讨论】:

以上是关于检查数据库是不是已填充[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查某个数据是不是已存在于firestore中

如何检查 APK 是不是已签名或“调试构建”?

检查是不是已安装程序[重复]

检查图像是不是已完全加载[重复]

检查按钮是不是已滑过,并检查其标签? (iOS)[重复]

检查是不是已分配 toString [重复]