title: Python and SQLite: Check if an item exists in a database?
body: <p>I have a method which writes into a database the username and password of user who wish to register. Before storing the username and password they have provided into the database, i want to check if the username they have chosen already exist in either the "pending" list, or the approved "contacts" list.</p>
  
  <p>Here is the code I used to do that:</p>
  
  <pre><code>@cherrypy.expose
  def writePending(self, username=None, password=None, message=None, signin=None):
      """ Add request of friendship into a database which stores all
          pending friendships.
      """
  
      page = get_file(staticfolder + "/html/friendingPage.html")
  
      if username != "" and password != "" and message !="":
          con = lite.connect('static/database/Friendship.db')
          cur = con.cursor()
  
          with con:      
              cur.execute("CREATE TABLE IF NOT EXISTS pending(user TEXT, pass TEXT, info TEXT)")
              cur.execute("CREATE TABLE IF NOT EXISTS contacts(user TEXT, pass TEXT)")
  
              "Check to see if the username is already registered"
  
              cur.execute("Select * from pending where user = ?", (username, ))
              check1=cur.fetchone()
              cur.execute("Select * from contacts where user = ?", (username, ))
              check2=cur.fetchone()
  
              if check1[0] != None:
                  page = page.replace("$Error", "The ID you used is still pending for friendship")
              elif check2[0] != None:
                  page = page.replace("$Error", "The ID you used is already added as a contact")
              else:
                  cur.execute("CREATE TABLE IF NOT EXISTS pending(user TEXT, pass TEXT, info TEXT)")   
                  cur.execute("INSERT INTO pending VALUES(?, ?, ?)", (username, password, message))               
                  page = get_file(staticfolder + "/html/thankYouPage.html")
  
      else:
          page = get_file(staticfolder + "/html/friendingPage.html")
          page = page.replace("$Error", "You Must fill out all fields to proceed")
  
      return page
  </code></pre>
  
  <p>However, I would get a message that </p>
  
  <pre><code>Traceback (most recent call last):
    File "/usr/lib/pymodules/python2.7/cherrypy/_cprequest.py", line 606, in respond
      cherrypy.response.body = self.handler()
    File "/usr/lib/pymodules/python2.7/cherrypy/_cpdispatch.py", line 25, in __call__
      return self.callable(*self.args, **self.kwargs)
    File "proj1base.py", line 540, in writePending
      if type(check1[0]) != None:
  TypeError: 'NoneType' object is not subscriptable
  </code></pre>
  
  <p>I am wondering what I can do to avoid that?</p>
  
  <p>Thanks.</p>