예제 #1
0
def create_question(tid, username, abstract, content):  # 创建问题
    conn = yield async_connect()
    cur = conn.cursor()
    if isinstance(abstract, str):
        abstract = escape_string(abstract)
    if isinstance(content, str):
        content = escape_string(content)

    sql1 = "INSERT INTO t_question (abstract, content, uid, tid) VALUES ('%s', '%s', (SELECT uid FROM t_user WHERE username='******'), %d);" % (
        abstract, content, username, tid)
    sql2 = "SELECT LAST_INSERT_ID() as qid FROM t_question;"
    try:
        data = yield cur.execute(sql1)
        yield cur.execute(sql2)
        last_insert = cur.fetchone()
    except Exception as e:
        data = 0
        last_insert = {}
    finally:
        cur.close()
        conn.close()
    raise gen.Return((data, last_insert.get('qid', None)))
예제 #2
0
def create_answer(qid, user, content):  # 创建答案
    conn = yield  async_connect()
    cur = conn.cursor()
    if isinstance(content, str):
        content = escape_string(content)

    sql1 = "INSERT INTO t_answer (qid, uid, content) VALUES (%d, (SELECT uid FROM t_user WHERE username='******'), '%s');" % (qid, user, content)
    sql2 = "UPDATE t_question SET answer_count = answer_count + 1 WHERE qid=%d;" % qid
    try:
        data = yield cur.execute(sql1)
        yield cur.execute(sql2)
    except Exception as e:
        data = 0
    finally:
        cur.close()
        conn.close()
    raise gen.Return(data)