เขียนโปรแกรม Python ต่อฐานข้อมูล MySQL พอรันแล้วขึ้นข้อความว่า NameError: name 'cursor' is not defined Python แบบนี้ต้องแก้ไขอย่างไร
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='localhost', database='db_example', port=3306)
cur = cursor()
cur.execute("SELECT * FROM product")
วิธีแก้ไข
ปัญหานี้เกิดจาก คำสั่ง cursor() ต้องใช้งานร่วมกับตัวแปรที่เก็บสถานะการเชื่อมต่อฐานข้อมูล ในลักษณะแบบนี้ cnx.cursor() สามารถแก้ไขโค้ดได้ดังนี้
import mysql.connector
cnx = mysql.connector.connect(user='root', password='', host='localhost', database='db_example', port=3306)
cur = cnx.cursor()
cur.execute("SELECT * FROM product")