【问题标题】: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 扩展。强烈建议不要使用它。见stackoverflow.com/questions/12859942/…

标签: php mysql


【解决方案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!";
    }
    

    【讨论】:

      猜你喜欢
      • 2020-04-04
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 2016-03-01
      • 1970-01-01
      • 2016-11-03
      • 2021-10-10
      • 1970-01-01
      相关资源
      最近更新 更多