如何将用户输入作为sql语句的参数

时间:2016-10-29 23:06:44

标签: c database sqlite

我试图运行此代码但是当我尝试添加新代理时,只要我在控制台上输入IP地址作为输入,程序就会退出并抛出错误说明分段错误。我使用了一个字符数组来存储IP地址。 我不确定如何将用户输入作为sql insert查询的参数。

import random, time

outside_lights = ['LED_fgate',
    'LED_rgate',
    'LED_mandoor',
    'LED_garage',
    'LED_garWin',
    'LED_rgb',
    'LED_deckOld',                 
    'LED_deckNew',
    'LED_cleartube',                  
    'LED_cleartube2'
]

random.shuffle(outside_lights, random.random)

print [i for i in outside_lights if time.sleep(1) is None]

1 个答案:

答案 0 :(得分:0)

您尚未分配任何内存来存储IP或名称ID。你刚刚分配了指针,指向没有位置,所以scanf写入一些随机位置并使程序崩溃。

最简单的解决方法是改变:

char *nameID,*ip;

为:

char nameID[100];
char IP[100];

假设当然100比用户输入的更多。