• 11-03-2014, 17:33:45
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba,

    $query = "UPDATE TeSt ( 
            `2` , 
            `3` , 
            `4` 
            ) 
            VALUES ( 
            '$st2', '$st3', '$st4') 
            WHERE (`1`='$st1'        );"; 
            //verileri ekle eğer hata olursa satır numarasını belirterek ekrana yazdır. 
            mysql_query($query,mysql_conn()) or print(mysql_error())."Satir : $row \n";   
             
    }                             
                     
           for ($row = 2; $row <= $data->sheets[0]['numRows']; $row++) 
        { 
             
            $st1 = mb_convert_encoding( $data->sheets[0]['cells'][$row][1],"UTF-8","ISO-8859-9"); 
            $st2 = mb_convert_encoding( $data->sheets[0]['cells'][$row][2],"UTF-8","ISO-8859-9"); 
            $st3 = mb_convert_encoding( $data->sheets[0]['cells'][$row][3],"UTF-8","ISO-8859-9"); 
            $st4 = mb_convert_encoding( $data->sheets[0]['cells'][$row][4],"UTF-8","ISO-8859-9"); 
                    
            veriduzenle($st1,$st2,$st3,$st4,$row);     
                 
        }               
                }
    Şeklinde fonksiyonum (veriduzenle) sorgum ve döngüm var.

    Amacım 2 - 3 - 4 isimli sütunlara $st2, $st3, $st4 değişkenlerinden gelen verilerle güncellemek. bunu yaparkende 1 isimli sütunla $st1 değişkeninin eşit olduğu satırlarda bu işi yapması.

    umarım anlatabilmişimdir
  • 11-03-2014, 17:55:43
    #2
    UPDATE test SET 2=$st2,3=$st3,4=$st4 WHERE 1=$st1
    bu sorgu sana yardımcı olacaktır
  • 11-03-2014, 18:04:11
    #3
    $query = "UPDATE TeSt
    	 SET 2=$st2,3=$st3,4=$st4
    		WHERE 1=$st1);";
    şeklindeki koduma aşağıdaki hatayı verdi

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET 2=rfv,3=tgb,4=yhn WHERE 1=8 )' at line 2
  • 11-03-2014, 18:15:35
    #4
    sytanx error vermiş
    $st1);";
    bold ve kırmızı yaptıgım noktalı virgülü kaldırıp denermisin

    yardımcı olması açısından
    http://www.w3schools.com/php/php_mysql_update.asp
  • 11-03-2014, 18:23:31
    #5
    vermiş olduğun link benim başucu kitabım

    hata yine aynı. ama gerçekten çok saçma bir yerde bi şekilde sorun var ama görülmüyor

    bir örnek vermek istiyorum belki benim gözümden kaçan birşey görülür.

    $query = "INSERT INTO TeSt (
            `ID` ,
            `1` ,
            `2` ,
            `3` ,
            `4`
            )
            VALUES (
            NULL , '$st1', '$st2', '$st3', '$st4'
            );";
    şeklinde başka bir sorgum var aynı excelden ekleme yapan. bu çalışıyor ama update çalışmıyor
  • 11-03-2014, 18:27:14
    #6
    hocam düzenleme için UPDATE SET ile başlayan bir sorgulama yapmalısın
    verdiğin son örnekteki kod ekleme yapmak için(INSERT INTO)

    sytanx error alıyorsun suan gözden kacırdıgımız birşey var, benim ilk gözüme çarpan ise noktalı virgül oldu , ve ondan önce koyduğun parantez )

    şu sorguyu kullanırmısın
    $query = "UPDATE TeSt SET 2=$st2,3=$st3,4=$st4 WHERE 1=$st1";
  • 11-03-2014, 18:29:41
    #7
    onu örnek olarak gösterdim zaten ; de hata olabilir dedin kaldırdım yine çalışmadı ama yukarıdaki örnekde ; var ve çalışıyor onu demek istedim yoksa derdim insert into değil update set.

    insert into olan çalışıyor
    update set çalışmıyor

    çalışan syntax ı örnek olarak verdim
  • 11-03-2014, 18:30:56
    #8
    oguzhan306 adlı üyeden alıntı: mesajı görüntüle
    onu örnek olarak gösterdim zaten ; de hata olabilir dedin kaldırdım yine çalışmadı ama yukarıdaki örnekde ; var ve çalışıyor onu demek istedim yoksa derdim insert into değil update set.

    insert into olan çalışıyor
    update set çalışmıyor

    çalışan syntax ı örnek olarak verdim

    sytanx error alıyorsun suan gözden kacırdıgımız birşey var, benim ilk gözüme çarpan ise noktalı virgül oldu ve ondan önce koyduğun parantez )

    şu sorguyu kullanırmısın
    $query = "UPDATE TeSt SET 2=$st2,3=$st3,4=$st4 WHERE 1=$st1";
  • 11-03-2014, 18:47:59
    #9
    ooww iş şimdi çok değişik bir yere geldi.

    acaba veritabanına verdiğim isimler yüzünden mi oluyor diye düşündüm ve 1 2 3 4 yerine a b c d diye değiştirdim sütun isimlerini

    sorgu da:
    $query = "UPDATE TeSt SET b=$st2,c=$st3,d=$st4 WHERE a=$st1";
    şeklinde

    gelen hata: Unknown column 'qqq' in 'field list'

    excelden bakıyorum evet gerçekten 2. satırda qqq var ama sql e update yapmamış