Bir başvuru formu mevcut verilerini güncellemek mümkün değildir

3 Cevap

Ben burada söylüyorum ben ne yapıyorum form.So benim uygulamayı düzenlerken ediyorum .. Ben zaten giriş am

  • Her şeyden önce benim ana sayfasında bir bağlantıyı düzenle (edit_profile1.php) veriyorum
  • Yetkisiz kullanıcı profilinizdeki düzenleme yapmıyor böylece şimdi kullanıcı adı ve şifre tekrar soruyorum
  • Şimdi edit_profile1.php i veritabanında saklanan kullanıcı adı ve şifre kullanıcı tarafından gönderilen kullanıcı adınızı ve şifrenizi kontrol ediyorum
  • Kullanıcı adı ve şifre doğruysa, o zaman ben edit_profile2.php yönlendirildi
  • İşte ben, (i kutuları için aynı adı kullanıyorum) başvuru formunu doldurarak kullanılan aynı metin kutuları ile bir form oluşturma. Burada adı güncelleme ile bir buton

Son sayfa edit_profile3.php için ben burada coading veriyorum

<?php

    $con=mysql_connect("localhost","root","");
        if(!$con)
        {
        die('Could Not Connect:'.mysql_error());
        } 
        mysql_select_db("tcs",$con);

$usr=$_POST["username"];                 
$pwd=hash('sha1',$_POST['password']);   

$query="select * from employee where Username='$usr' and Password='$pwd'";   

$result=mysql_query($query,$con);


if ($result) 
{

$row=mysql_fetch_array($result);
$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd");

$deepak=mysql_query($sql,$con);

if($deepak)
{
    echo "Updation Successfull"
}

}
?>

Now when i excute this error is coming like this Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in F:\Study Material\Linux\xampp\htdocs\edit_profile3.php on line 21

Line number 21 is 
 $sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd");

I wrong.Plz da söyle alıyorum nerede şimdi ben başvuru formlarını güncellenmesi için başka bir yöntem yoktur almıyorum herhangi başka logic.Plz yukarıda check out.

3 Cevap

Apart Diğerleri zaten işaret etmiştir parantez ile sorunu, bu böyle olmamalı?

"update employee set password=$pwd WHERE username=$usr"

Ayrıca adını değiştirmek istiyorsanız, böyle bir şey yapın:

"update employee set username=$new_username, password=$pwd WHERE username=$old_username"

Sözdizimi bir açıklaması için UPDATE documentation for MySQL bakın.

Ayrıca, doğrudan SQL sorguları içine bunun gibi dizeleri koyarak riskli - Eğer dikkatli değilseniz eğer bir SQL enjeksiyon yaralanmazlık bırakabilir. Kodunuzu güvenli olduğundan emin olmak için sorgu parametrelerini kullanmalısınız. this question on StackOverflow bu konuda daha fazla bilgi.

Sizin ayraç ) sorgu dizesi dışında.

Dizim ile bir PHP editörü kullanmak, onlar hemen bu tür sorunlar görmek yardımcı olur.

Ve the PHP manual kullanışlı olması her zaman iyidir çok iyidir, ve.

Ifadesi düzgün yazılmış değildir:

$sql="update employee set ($row['Username']=$usr,$row['Password']=$pwd)";

Quote ') sonra olmalıdır.