2016-05-27 4 views
3

」オブジェクトが属性を持っていない'、マックOS.Already上のMySQLは、MySQL、pymysql、それは知っているので、」必要とされている他に何エラー:関数の実行 'のPython 3.4の使用

import pymysql 
import pymysql.cursors 
import _mysql 

connection = pymysql.connect(host='localhost',user='sth',password ='', db = 'mydb') 
query = "INSERT INTO mydb (card, price,color,index1) VALUES ('cardeeef','3.24','B','frsss')" 
cur = connection.cursor 
cur.execute(query) 
results =cur.fetchall() 

わからないはmysqlclient-のpythonをインストールしました。 「

+1

あなたはそれを呼び出す必要が括弧に注意してください。 – alecxe

+0

ありがとうございます@alecxe – TestIsFun

答えて

3

Pythonでは、()という識別子を付けることによってcall functionsになります。 THIのように:

cur = connection.cursor() 

これは文法である: - `CUR = connection.cursor()` -

call     ::= primary "(" [argument_list [","] 
          | expression genexpr_for] ")" 
argument_list  ::= positional_arguments ["," keyword_arguments] 
          ["," "*" expression] ["," keyword_arguments] 
          ["," "**" expression] 
          | keyword_arguments ["," "*" expression] 
          ["," "**" expression] 
          | "*" expression ["," keyword_arguments] ["," "**" expression] 
          | "**" expression 
positional_arguments ::= expression ("," expression)* 
keyword_arguments ::= keyword_item ("," keyword_item)* 
keyword_item   ::= identifier "=" expression 
1

を実行あなたは=は​​方法でcursor()を作成CURを作成すると、カーソルの方法

cur = connection.cursor() 

への接続を設定する必要があります。 Cursorは、cursorのエイリアスに設定したものだけです。

あなたが望んでいた場合は、書くことができます:MySQLのCursor Classから

Cursor = cursor() 
cur = connection.Cursor 

カーソルを作成するには、接続オブジェクトのカーソル()メソッドを使用します

import mysql.connector 

cnx = mysql.connector.connect(database='world') 
cursor = cnx.cursor()