Обновление учетной записи для SQL-инъекций.
Вам нужно отформатировать строку, есть несколько способов сделать это.
В настоящее время в Python рекомендуется использовать строки нового формата. F перед строкой сообщает python, что вы хотите отформатировать строку, а {input_var}
сообщает python, что вы хотите заменить это значением переменной input_var.
def IP_Search(input_var):
cursor.execute(f"SELECT IP, Location, Description, Project, OS, DNS, NETBIOS, MAC FROM [IPAM].[dbo].[Sheet1$] WHERE IP={input_var}")
row = cursor.fetchall()
while row:
print (IP_Search)
row = cursor.fetchall()
input_var = input("Enter IP Address: ")
IP_Search(input_var)
Однако, как указано в комментариях, база данных остается открытой для атак с использованием SQL-инъекций. Вы можете увидеть детали для этого здесь: https://bobby -tables.com / python
Вместо этого вы передаете переменные в функцию cursor.execute
следующим образом:
def IP_Search(input_var):
cursor.execute("SELECT IP, Location, Description, Project, OS, DNS, NETBIOS, MAC FROM [IPAM].[dbo].[Sheet1$] WHERE IP=%s", (input_var,))
row = cursor.fetchall()
while row:
print (IP_Search)
row = cursor.fetchall()
input_var = input("Enter IP Address: ")
IP_Search(input_var)