• 29-07-2014, 05:33:07
    #1


    Merhabalar , bir script mssql ile bağlantı kuruyor aktivasyon linkine tıklayınca bu hatayı veriyor tam ne hatası var söyler misiniz sorunu kesin çözene 6 tl enpara yollayacağım
  • 29-07-2014, 07:13:29
    #2
    buradan pek belli olmuyor ama sanırım customerID primery key ve id yi identifike olarak tanımlamanız gerekiyor...
  • 29-07-2014, 07:18:14
    #3
    gidelon adlı üyeden alıntı: mesajı görüntüle
    buradan pek belli olmuyor ama sanırım customerID primery key ve id yi identifike olarak tanımlamanız gerekiyor...

    Navicat kullanıyorum , nasıl yapacağım izah eder misiniz lütfen.
  • 29-07-2014, 07:33:36
    #4
    Sql cumlesinde sunlari yapar misin?
    customer_id ve values içindeki en bastaki tırnakları kaldırıp deneyiniz
  • 29-07-2014, 08:31:50
    #5
    ALTER TABLE [dbo].[UserData] (
    [CustomerID] [int] IDENTITY (1, 1) NOT NULL
    )

    dediğim gibi buradan pek belli olmuyor hocam..sanırım yukarıdaki kodu işlemeniiz gertekiyor..customerıd birinci anahtar mı bir bakarmısınız..otomatik olarak artıyor mu..yine veritabanını görmeden yanlış yönlendirmek istemem..
  • 29-07-2014, 11:54:50
    #6
    dublicated primary key, veya unique key var. zaten insert etmeye çalıştığınız kayıt var. o yüzden bu hatayı alıyorsun.
  • 29-07-2014, 12:51:48
    #7
    Alıntı
    <?php
    if(!defined("NDB")){
    die("Der Aufruf dieser Datei ist nicht gestattet!");
    }

    class validate {
    public function __construct(){
    $key = (isset($_GET['key'])) ? $_GET['key']:'';
    if(!empty($key)){
    $getData = NDB::getDB()->fetchArray(NDB::getDB()->sendquery("SELECT * FROM [WarZ].[dbo].[webValidate] WHERE [key]='".$key."'"));
    if(!empty($getData['key'])){
    switch($getData['type']){
    case 'register':
    $checkData = NDB::getDB()->count('[WarZ].[dbo].[Accounts]', "[Username]='".$getData['account']."' OR [email]='".$getData['email']."'");
    if(!$checkData){
    NDB::getDB()->sendquery("INSERT INTO [WarZ].[dbo].[Accounts]([email],[Username],[MD5Password],[dateregistered],[ReferralID],[lastlogindate],[lastloginIP],[SeQu],[SeAn]) VALUES('".$getData['email']."', '".$getData['account']."', '".$getData['pass']."', GETDATE(), '".$getData['refID']."', GETDATE(), '0.0.0.0', '".$getData['secretQuestions']."', '".$getData['secretAnswer']."');");
    $getID = NDB::getDB()->fetchArray(NDB::getDB()->sendquery("SELECT * FROM [WarZ].[dbo].[Accounts] WHERE [email]='".$getData['email']."'"));
    echo 'ID: '.$getID["CustomerID"];
    NDB::getDB()->sendquery("INSERT INTO [WarZ].[dbo].[UsersData]([CustomerID],[AccountType],[dateregistered],[TradingDollars]) VALUES('".$getID['CustomerID']."', '2', GETDATE(), '0')");
    NDB::getDB()->sendquery('exec FN_AddItemToUser '.$getID['CustomerID'].', 20174, 2000');
    NDB::getDB()->sendquery('exec FN_AddItemToUser '.$getID['CustomerID'].', 20182, 2000');
    NDB::getDB()->sendquery('exec FN_AddItemToUser '.$getID['CustomerID'].', 20184, 2000');
    NDB::getDB()->sendquery("DELETE FROM [WarZ].[dbo].[webValidate] WHERE [email]='".$getData['email']."'");
    NDB::Template()->setMSG('Thanks for Register, now you can Login and Play! Have Fun!', 'success', 'center');
    }else{
    NDB::Template()->setMSG('You already Registered!', 'error', 'center');
    }
    break;
    case 'changemail':
    $checkData = NDB::getDB()->count('[WarZ].[dbo].[Accounts]', "[Username]='".$getData['account']."' OR [email]='".$getData['email']."'");
    if($checkData){
    NDB::getDB()->sendquery("UPDATE [WarZ].[dbo].[Accounts] SET [email]='".$getData['email']."' WHERE [Username]='".$getData['account']."'");
    NDB::getDB()->sendquery("DELETE FROM [WarZ].[dbo].[webValidate] WHERE [email]='".$getData['email']."'");
    NDB::Template()->setMSG('Your E-Mail successfully changed!', 'success', 'center');
    }else{
    NDB::Template()->setMSG('Sorry, there is an Error in the System!', 'error', 'center');
    }
    break;
    case 'changepass':
    $checkData = NDB::getDB()->count('[WarZ].[dbo].[Accounts]', "[Username]='".$getData['account']."' OR [email]='".$getData['email']."'");
    if($checkData){
    NDB::getDB()->sendquery("UPDATE [WarZ].[dbo].[Accounts] SET [MD5Password]='".$getData['pass']."' WHERE [Username]='".$getData['account']."'");
    NDB::getDB()->sendquery("DELETE FROM [WarZ].[dbo].[webValidate] WHERE [email]='".$getData['email']."'");
    NDB::Template()->setMSG('Your Password successfully changed!', 'success', 'center');
    }else{
    NDB::Template()->setMSG('Sorry, there is an Error in the System!', 'error', 'center');
    }
    break;
    }
    }else{
    NDB::Template()->setMSG('The given validation key is wrong!', 'error', 'center');
    }
    }else{
    NDB::Template()->setMSG('<script>document.location = "/home/";</script>', 'info');
    }
    }
    }
    ?>
    SQL Kodu Budur
  • 31-07-2014, 15:34:37
    #8
    INSERT INTO [WarZ].[dbo].[UsersData]([CustomerID],[AccountType],[dateregistered],[TradingDollars]) VALUES('".$getID['CustomerID']."', '2', GETDATE(), '0')
    buradaki customer id degeri bos geliyor oncelikle buraya deger dogru mu geliyor gelebiliyor mu gelemiyor mu onu kontrol edin.

    2. aşama customer id veritabanında auto incrament ise kodu soyle degistirin

    INSERT INTO [WarZ].[dbo].[UsersData]([AccountType],[dateregistered],[TradingDollars]) VALUES('2', GETDATE(), '0')