2017-07-07 158 views
-1

因此我找到了一些功能的电话簿。 我想用给定的公式更新一行。PHP MySQL更新表设置....?

我知道你可以这样写:

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

但你怎么能做到这一点与更新?

所以我尝试这样的:

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

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

你有你的SQL语法错误;检查 对应于你的MySQL服务器版本正确的语法使用手动 附近 '(Anrede,Nachname,Vorname,Geburtsdatum,Telefonnummer,电子邮件) WHERE(' 布拉布拉 ' '布拉布拉',' 在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> 
+0

update t set c1 = val,c2 = val等 – jarlh

+0

喜欢这个? UPDATE Adressbuch SET Anrede ='$ Anrede',Nachname ...... – cyxcat

+0

是的,就像那样。而且你最后可能需要一个WHERE,以避免更新所有行。 (或者你正在更新光标的当前位置?)' – jarlh

回答

0

这是更新mysq通用格式升

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"; 

如果要使用其他条件th更新恩

//这更多的条件,你可以使用

$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

+0

那种工作,现在得到了问题,如果我有2+行,当我想编辑一行,每一行都改为我编辑时写的。 – cyxcat

+0

所以使用条件,如果你想更新特定行 –

+0

看到我的更新回答 –

0

入住这里:

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

但是请记住,当你不有where子句,它会更新表中的所有记录。

+0

它在哪里把WHERE子句在那个? :/ – cyxcat

+0

像这样(如果你有身份证号码): “UPDATE Adressbuch SET Anrede ='$ Anrede',Nachname ='$ Nachname',Vorname ='$ Vorname',Geburtsdatum ='$ Geburtsdatum' ,Telefonnummer ='$ Telefonnummer',电子邮件='$电子邮件'其中id ='$ id'“ –

+0

无法正常工作,当我把它当作是它没有做任何事情,没有单独的行和不是所有的行。 – cyxcat