PHP MySQL更新表设置....?

时间:2017-07-07 14:17:12

标签: php mysql sql database

所以我有一个带有一些功能的电话簿。 我想用给定的公式更新一行。

我知道你可以写:

INSERT INTO table (a,b,c) values('$a',....)

但是你怎么能用UPDATE做到这一点?

所以我试着这样:

$sql = "UPDATE Adressbuch SET (Anrede, Nachname, Vorname,Geburtsdatum, Telefonnummer, Email) VALUES ('$Anrede','$Nachname','$Vorname','$Geburtsdatum','$Telefonnummer','$Email')";

但它不起作用。 当我点击编辑时,它会给我错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   '附近'(Anrede,Nachname,Vorname,Geburtsdatum,Telefonnummer,Email)   在哪里('blabla','blabla','在第1行

我的代码:

<?php
//if(isset($...) ?
if($_GET['aktion'] == "speichern")
{    
    $Anrede         = $_GET['Anrede'];
    $Nachname       = $_GET['Nachname'];
    $Vorname        = $_GET['Vorname'];
    $Geburtsdatum   = $_GET['Geburtsdatum'];
    $Telefonnummer  = $_GET['Telefonnummer'];
    $Email          = $_GET['Email'];


    $sql = "UPDATE Adressbuch SET (Anrede, Nachname, Vorname,     Geburtsdatum, Telefonnummer, Email) WHERE     ('$Anrede','$Nachname','$Vorname','$Geburtsdatum','$Telefonnummer','$Emai    l')";

    echo  '<a href="adressbuch-abfragen.php">Zurueck zum     Adressbuch</a><br>';
    require_once ('konfiguration.php');
    $db_erg = mysqli_query($db_con, $sql)
        or die("Anfrage fehlgeschlagen: " . mysqli_error($db_con));

            exit;
}

然后是一些显示公式的HTML代码:

<html>
<body>
<br>
<a href="adressbuch-abfragen.php">Zurueck zum Adressbuch</a><br>
    <br/><br/>

    <form name="" method="" action="adresse-bearbeiten.php">
  <p>Anrede / Titel:<br>
  <input type="text" name="Anrede" value="" size="60">
  </p>

  <p>Nachname:<br>
  <input type="text" name="Nachname" value="" size="60">
  </p>

  <p>Vorname:<br>
  <input type="text" name="Vorname" value="" size="60">
  </p>



  <p>Geburtsdatum:<br>
  <input type="date" name="Geburtsdatum" value="" size="10">
  </p>

  <p>Telefonnummer:<br>
  <input type="text" name="Telefonnummer" value="" size="60">
  </p>

  <p>E-Mail:<br>
  <input type="text" name="Email" value="" size="60">
  </p>
  <input type="hidden" name="aktion" value="speichern">

  <input type="submit" name="bearbeiten" value="bearbeiten">
    </form>

</body>
</html>

2 个答案:

答案 0 :(得分:0)

这是更新mysql的常用格式

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

更新您的查询,如

$sql = "UPDATE Adressbuch SET Anrede='$Anrede', Nachname='$Nachname', Vorname='$Vorname',Geburtsdatum='$Geburtsdatum', Telefonnummer='$Telefonnummer', Email='$Email'";

如果您想更新特定行,请使用条件

类似这样的地方,其中id是你的主键,1是你的id值,所以更新为你的要求

$sql = "UPDATE Adressbuch SET Anrede='$Anrede', Nachname='$Nachname', Vorname='$Vorname',Geburtsdatum='$Geburtsdatum', Telefonnummer='$Telefonnummer', Email='$Email' where id =1";

如果您想使用其他条件更新

//您可以使用更多条件

$sql = "UPDATE Adressbuch SET Anrede='$Anrede', Nachname='$Nachname', Vorname='$Vorname',Geburtsdatum='$Geburtsdatum', Telefonnummer='$Telefonnummer', Email='$Email' where email = 'oldemail' and name='test'";

了解更多信息

https://www.w3schools.com/sql/sql_update.asp

答案 1 :(得分:0)

点击此处:

"UPDATE Adressbuch SET Anrede = '$Anrede', Nachname = '$Nachname’, Vorname = '$Vorname’,Geburtsdatum = ‘$Geburtsdatum', Telefonnummer = ‘$Telefonnummer', Email = ‘$Email'"

但请记住,当你没有where子句时,会更新你桌子上的所有记录。