检查数据库是不是已填充[重复]
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!";
【讨论】:
以上是关于检查数据库是不是已填充[重复]的主要内容,如果未能解决你的问题,请参考以下文章