Jump to content

* [ db ] وش المشكل ؟


Recommended Posts

السلام عليكم ورحمة الله وبركاته

function E1 ( player, _, playerName )
    if playerName and getPlayerFromName ( playerName ) then
        db = dbConnect("sqlite", "killerProject.db")
        dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )")
        dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName (player), getPlayerMoney (player) )
        playSoundFrontEnd(player, 43)
        for i, rTable in ipairs( dbPoll( dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 ) ) do
            outputChatBox ( "* Player Name: "..rTable["playerName"].." Player Money: "..rTable["playerMoney"], player, 0, 255, 0 )
        end
    else
        outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
    end
end
addCommandHandler ( "sql", E1 )

فين المشكل هنا ؟ مع العلم اني مب عارف اي شئ عن السكل لكن حاولت اجرب

مب قادر استعمل التاج لأن الانترنت ضعيف

الدي بق فارغ


outputChatBox( "* Player Name: "..rTable["playerName"].." Player Money: "..rTable["playerMoney"], player, 0, 255, 0 ) -- ما تطلع في الشات

 

ولا اي شئ يتفعل اذا كان داخل هذا اللوب

        for i, rTable in ipairs( dbPoll( dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 ) ) do
            -- هنا
        end

Link to comment
function E1 ( player, _, playerName )
    if playerName and getPlayerFromName ( playerName ) then
        db = dbConnect("sqlite", "killerProject.db")
        dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )")
        dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName (player), getPlayerMoney (player) )
        playSoundFrontEnd(player, 43)
        result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 )
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
    else
        outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
    end
end
addCommandHandler ( "sql", E1 )

اذا فيه لخبطة اعذرني انا جوال

Link to comment
31 minutes ago, #BrosS said:

function E1 ( player, _, playerName )
    if playerName and getPlayerFromName ( playerName ) then
        db = dbConnect("sqlite", "killerProject.db")
        dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )")
        dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName (player), getPlayerMoney (player) )
        playSoundFrontEnd(player, 43)
        result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 )
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
    else
        outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
    end
end
addCommandHandler ( "sql", E1 )

اذا فيه لخبطة اعذرني انا جوال

            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )

attempt to index field '?' (a nil value)

Link to comment
db = dbConnect("sqlite", "killerProject.db")
dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )")

function E1 ( player, _, playerName )
    if playerName and getPlayerFromName ( playerName ) then
        dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName (player), getPlayerMoney (player) )
        playSoundFrontEnd(player, 43)
        result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 )
        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
    else
        outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
      end
    end
end
addCommandHandler ( "sql", E1 )

احذف القاعدة killerProject.db

وابدأ بداية نظيفة ذذ وجرب

انا مو فاهم وش بدك تسوي يعني كلما يكتب الكومند يضيفه للقاعدة

  • Like 1
Link to comment
Just now, #BrosS said:

db = dbConnect("sqlite", "killerProject.db")
dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )")

function E1 ( player, _, playerName )
    if playerName and getPlayerFromName ( playerName ) then
        dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName (player), getPlayerMoney (player) )
        playSoundFrontEnd(player, 43)
        result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 )
        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
    else
        outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
      end
    end
end
addCommandHandler ( "sql", E1 )

احذف القاعدة killerProject.db

وابدأ بداية نظيفة ذذ وجرب

انا مو فاهم وش بدك تسوي يعني كلما يكتب الكومند يضيفه للقاعدة

 


انا فقط اجرب لأن خبرتي في السكل مرة مرة ضعيفة

سويت مثال و شغال تمام

 

 

db = dbConnect("sqlite", "killerProject.db")
dbExec(db, "CREATE TABLE IF NOT EXISTS MYSQLTable ( playerName, playerMoney )")

function E1 ( player, _, playerName )
    if playerName and getPlayerFromName ( playerName ) then
        dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName ( getPlayerFromName ( playerName ) ), getPlayerMoney ( getPlayerFromName ( playerName ) ) )
        dbExec(db, "UPDATE MYSQLTable SET playerName=?,playerMoney=? WHERE playerName=?", getPlayerName ( getPlayerFromName ( playerName ) ), getPlayerMoney ( getPlayerFromName ( playerName ) ), playerName )
        playSoundFrontEnd(player, 43)
        result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", playerName ) , -1 )
        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
        else
            outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
        end
    end
end
addCommandHandler ( "sql", E1 )

function E2 ()
    name = getPlayerName ( source )
    result = dbPoll(dbQuery( db, "SELECT * FROM MYSQLTable WHERE playerName = ?", name ) , -1 )
    if #result > 0 then
        setPlayerName ( source, result[1]["playerName"] )
        setPlayerMoney ( source, result[1]["playerMoney"] )
        outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], source, 0, 255, 0 )
    end
end
addEventHandler ( "onPlayerJoin", root, E2 )


لكن اللي انا عايز اعرفه دلوقتي

كل مرة هكتب فيها الكومند و اسم اللاعب رح يضيف داتا جديدة في الدي بي صح ؟

dbExec(db, "INSERT INTO MYSQLTable VALUES ( ?, ? )", getPlayerName ( getPlayerFromName ( playerName ) ), getPlayerMoney ( getPlayerFromName ( playerName ) ) )

وهذه شغالة تمام لكن هل بسوي تحديث لكل الكولمنات اللي في الداتا دي بي ؟

dbExec(db, "UPDATE MYSQLTable SET playerName=?,playerMoney=? WHERE playerName=?", getPlayerName ( getPlayerFromName ( playerName ) ), getPlayerMoney ( getPlayerFromName ( playerName ) ), playerName )

وفيه شئ ابي افهمه آخر

        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
        else
            outputChatBox ( "sql <playerName>", root, 0, 255, 0 )
        end

 

result -- ليه اكبر من الصفر ؟
result[1]["playerName"] -- وش فائدة رقم 1 ؟؟



وآسف على تعبك معي بروس

Link to comment

INSERT المفروض تسويها مرة واحدة عشان تدخل القيم بالجدول مو كل مرة يبقى يضيف

UPDATE اذا القيم موجودة وتغيرت مثل ما انت مسوي الفلوس يعني تسوي تحديث

 if #result > 0 then وبخصوص

تتحقق اذا القاعدة ليست فارغة لما تبي تجيب القيم لو فارغة وتجيب فلوسه واسمه يجيك ارور

  • Like 1
Link to comment
Just now, #BrosS said:

INSERT المفروض تسويها مرة واحدة عشان تدخل القيم بالجدول مو كل مرة يبقى يضيف

UPDATE اذا القيم موجودة وتغيرت مثل ما انت مسوي الفلوس يعني تسوي تحديث

 if #result > 0 then وبخصوص

تتحقق اذا القاعدة ليست فارغة لما تبي تجيب القيم لو فارغة وتجيب فلوسه واسمه يجيك ارور

شكراً لك بروس

افادتني جداً هذي


        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
        end

Link to comment
28 minutes ago, Killer Project said:

شكراً لك بروس

افادتني جداً هذي


        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
        end

توضيح بسيط
UPDATE اذا تبي تعدل او تغيير القيمة : )

  • Like 1
Link to comment
Just now, iMr.WiFi..! said:

توضيح بسيط
UPDATE اذا تبي تعدل او تغيير القيمة : )

اها ادري عنها ومسويها فوق

dbExec(db, "UPDATE MYSQLTable SET playerName=?,playerMoney=? WHERE playerName=?", getPlayerName ( getPlayerFromName ( playerName ) ), getPlayerMoney ( getPlayerFromName ( playerName ) ), playerName )

فقط اللي كان واقف عندي هو

        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
        end


وشكراً لك على الإضافة :D

Link to comment
1 minute ago, Killer Project said:

اها ادري عنها ومسويها فوق

dbExec(db, "UPDATE MYSQLTable SET playerName=?,playerMoney=? WHERE playerName=?", getPlayerName ( getPlayerFromName ( playerName ) ), getPlayerMoney ( getPlayerFromName ( playerName ) ), playerName )

فقط اللي كان واقف عندي هو

        if #result > 0 then
            outputChatBox ( "* Player Name: "..result[1]["playerName"].." Player Money: "..result[1]["playerMoney"], player, 0, 255, 0 )
        end


وشكراً لك على الإضافة :D

يعني انت فاهمش كل حاجة ولا باقي شيء ؟؟
 

Link to comment
Just now, iMr.WiFi..! said:

يعني انت فاهمش كل حاجة ولا باقي شيء ؟؟
 

اللي فاهمهم

CREATE TABLE IF NOT EXISTS
DELETE FROM
WHERE TEXT=?
INSERT INTO

باقي الفنكشنات ما جربتها لكن اكيد سهلة

اللي كان صعب عندي اللي هوا استخراج القيم من الجدول

result[1]["playerName"]

result اسم الجدول
[1] رقم الكولمن
["playerName"] قيمة الكولمن

ما حاولت اتعلم السكل قبل اليوم
في البداية اعتقد انه صعب و معقد
بس بدأت احاول من بداية اليوم و فهمت فيه اشياء كثيرة و الحمد لله

Link to comment
Just now, Killer Project said:

اللي فاهمهم

CREATE TABLE IF NOT EXISTS
DELETE FROM
WHERE TEXT=?
INSERT INTO

باقي الفنكشنات ما جربتها لكن اكيد سهلة

اللي كان صعب عندي اللي هوا استخراج القيم من الجدول

result[1]["playerName"]

result اسم الجدول
[1] رقم الكولمن
["playerName"] قيمة الكولمن

ما حاولت اتعلم السكل قبل اليوم
في البداية اعتقد انه صعب و معقد
بس بدأت احاول من بداية اليوم و فهمت فيه اشياء كثيرة و الحمد لله

result مو اسم الجدول
result هو التحديد الي عملته او ناتج الاستعلام من التحديد الي عملته

بواسطة 
SELECT FROM 

Link to comment
Just now, iMr.WiFi..! said:

result مو اسم الجدول
result هو التحديد الي عملته او ناتج الاستعلام من التحديد الي عملته

بواسطة 
SELECT FROM 

ما اقصد انه اسم الجدول لكن اقصد انه عبارة عن جدول يعني

if type( dbPoll( dbQuery ( db, "SELECT * FROM MYSQLTable" ), -1 ) ) == "table" then

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...