OK論壇

 找回密碼
 註冊
查看: 2404|回復: 20

如何用中文ID搜尋cid

 關閉 [複製鏈接]
  • TA的每日心情
    開心
    2014-11-3 05:47 AM
  • 簽到天數: 38 天

    連續簽到: 1 天

    [LV.5]常住居民I

    發表於 2014-7-17 20:44:06 | 顯示全部樓層 |閱讀模式
    EA
    私服版號: Rathena
    問題內容: SQL問題
    本帖最後由 Animation_Cramp 於 2014-7-18 02:42 AM 編輯

    如標題

    我如果設計一個腳本
    1. prontera,111,111,0        script        test        81,{

    2. input .@id_name$;

    3. query_sql  << 請問這邊我要怎麼設定

    4. mes"玩家ID"+.@id_name$;
    5. mes"該玩家CID:"+.@id_cid$;
    6. close;
    7. }
    複製代碼
    .@id_name$ 是給GM設定 玩家ID

    然後由mes顯示出.@id_name$的 .@id_cid$

    請問 query_sql 應該怎麼編寫呢

    已觀看教學區,可是還是寫不出來...



    嘗試編寫方式:
    query_sql "SELECT char_id FROM char WHERE char_id = "+getcharid(0)+"",.@id_cid$;

    但是mes沒有出現...


    -----------------------------------------------------------

    利用先到資料庫找到name的char_id來進行if判斷式內的cid對應
            query_sql("SELECT char_id FROM `char` WHERE '"+.@name$+"' = name",.@CID);
            if(.@CID){}
    回復

    使用道具 舉報

  • TA的每日心情
    開心
    2023-9-25 11:37 PM
  • 簽到天數: 1686 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2014-7-17 20:53:24 | 顯示全部樓層
    本帖最後由 a91323 於 2014-7-17 09:10 PM 編輯

    query_sql("SELECT char_id FROM char WHERE '"+.@id_name$+"' = name",.@CID);

    沒測試不知道,也許是錯的

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2023-11-5 12:14 PM
  • 簽到天數: 2233 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2014-7-17 23:06:44 | 顯示全部樓層
    a91323 發表於 2014-7-17 08:53 PM
    query_sql("SELECT char_id FROM char WHERE '"+.@id_name$+"' = name",.@CID);

    沒測試不知道,也許是錯 ...

    補充  必要

    FROM `char`



    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2017-9-18 09:52 PM
  • 簽到天數: 771 天

    連續簽到: 2 天

    [LV.10]以壇為家III

    發表於 2014-7-17 23:24:03 | 顯示全部樓層
    a91323 發表於 2014-7-17 08:53 PM
    query_sql("SELECT char_id FROM char WHERE '"+.@id_name$+"' = name",.@CID);

    沒測試不知道,也許是錯 ...

    WHERE '"+.@id_name$+"' = name

    這邊似乎怪怪的

    應該是

    WHERE name = '"+.@id_name$+"'

    應該是搜尋name欄位裡面的.@id_name$

    不是.@id_name$欄位裡的name

    個人猜想

    很久沒碰了
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-9-25 11:37 PM
  • 簽到天數: 1686 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2014-7-17 23:30:30 | 顯示全部樓層
    巴力 發表於 2014-7-17 11:24 PM
    WHERE '"+.@id_name$+"' = name

    這邊似乎怪怪的

    不影響
    1. pkmn_town,153,151,4        script        查詢        430,{
    2.         input .@name$;
    3.         query_sql("SELECT char_id FROM `char` WHERE '"+.@name$+"' = name",.@CID);
    4.         if(.@CID){
    5.                 mes "名子是 "+.@name$+" cid編號是 "+.@CID+"";
    6.                 close;
    7.         }
    8.         end;
    9. }
    複製代碼
    用rA測試運作正常

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2017-9-18 09:52 PM
  • 簽到天數: 771 天

    連續簽到: 2 天

    [LV.10]以壇為家III

    發表於 2014-7-17 23:37:17 | 顯示全部樓層
    a91323 發表於 2014-7-17 11:30 PM
    不影響用rA測試運作正常

    原來如此
    太久沒碰果然忘光了
    等過幾個月工作穩定再來慢慢研究好了
    受教了
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    無聊
    2013-8-18 12:46 AM
  • 簽到天數: 9 天

    連續簽到: 1 天

    [LV.3]偶爾看看II

    發表於 2014-7-17 23:41:03 | 顯示全部樓層
    getcharid語法即可解決
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2015-10-1 03:50 PM
  • 簽到天數: 416 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2014-7-18 00:02:50 | 顯示全部樓層
    巴力 發表於 2014-7-17 11:24 PM
    WHERE '"+.@id_name$+"' = name

    這邊似乎怪怪的

    where 後面放的只是條件...
    如同 X = Y 等同 Y = X .........
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    擦汗
    2015-10-1 03:50 PM
  • 簽到天數: 416 天

    連續簽到: 1 天

    [LV.9]以壇為家II

    發表於 2014-7-18 00:13:36 | 顯示全部樓層
    本帖最後由 Karas鴉 於 2014-7-18 12:30 AM 編輯
    IDUN-2 發表於 2014-7-17 11:06 PM
    補充  必要

    FROM `char`

    那個不是所有的情況下都必要...
    除非你的SQL語句中含有和SQL相同的保留字...
    就 char 而言,為SQL的保留字,就需要加。

    例如:
    (錯誤)
    1. SELECT * FROM index
    複製代碼
    (正確)
    1. SELECT * FROM `index`
    複製代碼
    但還是建議加上 , 方便區分..


    自己參考手冊吧
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2014-11-3 05:47 AM
  • 簽到天數: 38 天

    連續簽到: 1 天

    [LV.5]常住居民I

     樓主| 發表於 2014-7-18 00:33:58 | 顯示全部樓層
    巴力 發表於 2014-7-17 11:24 PM
    WHERE '"+.@id_name$+"' = name

    這邊似乎怪怪的

    謝謝巴力老師,我測試看看喔
    有疑問在請教你 ><

    另外 如果我想把 玩家的cid   insert into 到 mail的dest_id怎麼做呢
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2014-11-3 05:47 AM
  • 簽到天數: 38 天

    連續簽到: 1 天

    [LV.5]常住居民I

     樓主| 發表於 2014-7-18 00:35:56 | 顯示全部樓層
    a91323 發表於 2014-7-17 08:53 PM
    query_sql("SELECT char_id FROM char WHERE '"+.@id_name$+"' = name",.@CID);

    沒測試不知道,也許是錯 ...

    這樣的意思是說

    .@CID = 玩家ID的C_ID嗎

    input .@id_name$

    mes"玩家ID:"+.@id_name$;
    mes"該玩家CID:"+.@CID;
    close;
    是這樣嗎?
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-9-25 11:37 PM
  • 簽到天數: 1686 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2014-7-18 00:44:52 | 顯示全部樓層
    Animation_Cramp 發表於 2014-7-18 12:35 AM
    這樣的意思是說

    .@CID = 玩家ID的C_ID嗎

    測試看看就知道
    另外如果要在SQL插入郵件
    我自己的寫法是迴圈+ select + insert


    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2014-11-3 05:47 AM
  • 簽到天數: 38 天

    連續簽到: 1 天

    [LV.5]常住居民I

     樓主| 發表於 2014-7-18 00:47:23 | 顯示全部樓層
    a91323 發表於 2014-7-18 12:44 AM
    測試看看就知道
    另外如果要在SQL插入郵件
    我自己的寫法是迴圈+ select + insert

    恩恩 我剛剛在想
    如果要放入mail該怎麼辦到

    但是問題目前就是出在怎麼放入.@name$的cid
    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2023-9-25 11:37 PM
  • 簽到天數: 1686 天

    連續簽到: 1 天

    [LV.Master]伴壇終老

    發表於 2014-7-18 00:50:06 | 顯示全部樓層
    Animation_Cramp 發表於 2014-7-18 12:47 AM
    恩恩 我剛剛在想
    如果要放入mail該怎麼辦到

    select 出該玩家名子的 cid之後  
    就直接拿cid陣列變數去插入就好了

    但是如果是多筆的話,就記得+入迴圈

    回復 支持 反對

    使用道具 舉報

  • TA的每日心情
    開心
    2014-11-3 05:47 AM
  • 簽到天數: 38 天

    連續簽到: 1 天

    [LV.5]常住居民I

     樓主| 發表於 2014-7-18 00:53:50 | 顯示全部樓層
    a91323 發表於 2014-7-18 12:50 AM
    select 出該玩家名子的 cid之後  
    就直接拿cid陣列變數去插入就好了

    我只有要做單筆發信

    但是sql剛接觸,要將cid變數 insert into到 mail還是卡在cid
    回復 支持 反對

    使用道具 舉報

    您需要登錄後才可以回帖 登錄 | 註冊

    本版積分規則

    Archiver|手機版|小黑屋|OK討論區

    GMT+8, 2024-4-26 10:04 PM , Processed in 0.073579 second(s), 21 queries , Gzip On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回復 返回頂部 返回列表