Python相当于PHP mysql_fetch_array

Aus*_*n K 5 python mysql sql mysql-python

我想在MySQL中获取一个数组.有人可以告诉我如何使用MySQLdb使用Python吗?

例如,这就是我想用Python做的事情:

<?php

  require_once('Config.php'); 

  $q = mysql_query("SELECT * FROM users WHERE firstname = 'namehere'");
  $data = mysql_fetch_array($q);
  echo $data['lastname'];

?>
Run Code Online (Sandbox Code Playgroud)

谢谢.

Anu*_*thi 8

在python中dictionary=True,我已经在python3中进行了测试。这将返回目录,该目录与php中的关联数组非常相似。例如。

import mysql.connector
cnx = mysql.connector.connect(user='root', password='',host='127.0.0.1',database='test1')
cursor = cnx.cursor(dictionary=True)
sql= ("SELECT * FROM `users` WHERE id>0")
cursor.execute(sql)
results = cursor.fetchall()
print(results)
Run Code Online (Sandbox Code Playgroud)


Dan*_*iel 6

你可以使用这个(dictionary=True):

import mysql.connector

db = mysql.connector.connect(user='root', password='',host='127.0.0.1', database='test1')

cursor = db.cursor(dictionary=True)
cursor.execute("SELECT * FROM table")

for row in cursor:
    print(row['column'])
Run Code Online (Sandbox Code Playgroud)


Bur*_*lid 5

  1. 安装MySQLdb(用于Python的MySQL驱动程序).类型pip install mysql-python
  2. 阅读Python DB API,这是在Python中访问数据库的标准方法.

然后,试试这个:

>>> import MySQLdb
>>> connection = MySQLdb.connect(database='test')
>>> cursor = connection.cursor()
>>> cursor.execute('SELECT * FROM users WHERE firstname = %s',('somename',))
>>> results = cursor.fetchall()
>>> for i in results:
       print i
Run Code Online (Sandbox Code Playgroud)

  • `names = [i [0] for i in cursor.fetchall()]` (11认同)
  • 令人担心的是,这是某种形式的SQL转义的唯一答案. (2认同)