Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada cara aman untuk membuat parameter nama database dalam kueri MySQL?

Nama database (atau nama kolom atau tabel) bukan nilai data, dan dengan demikian bukan penggunaan placeholder yang tepat. ingin melakukan ini biasanya merupakan pertanda buruk; hanya DBA yang dapat mengeluarkan create database , karena melakukannya memerlukan beberapa hak istimewa yang cukup besar. Sebagian besar aplikasi memerlukan DBA untuk mengeluarkan database create, dan kemudian mengambil database yang dibuat sebagai parameter untuk digunakan dalam argumen ke dbapi.Connection.

Jika Anda yakin membutuhkan ini, Anda mempercayai sumber input, dan Anda telah memeriksa input untuk karakter yang tidak valid, Anda cukup melakukan substitusi dengan python, seperti:

def createDB(dbConn, dbName):
    c = dbConn.cursor()
    query = """CREATE DATABASE %s;""" % dbName
    c.execute(query)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menentukan batasan unik untuk banyak kolom di MySQL?

  2. PDO IN() Pernyataan Array DAN placeholder

  3. 10 praktik terbaik teratas di MySQL

  4. Sisipan batch dengan PHP

  5. Cara mengatur nilai seed secara manual sebagai 1000 di MySQL