Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 为什么不是';这不是一个例外吗_Mysql_Python 3.x_Exception - Fatal编程技术网

Mysql 为什么不是';这不是一个例外吗

Mysql 为什么不是';这不是一个例外吗,mysql,python-3.x,exception,Mysql,Python 3.x,Exception,我有以下代码: query = "SELECT * FROM `actions` WHERE clientId = '{}'".format(id) cursor.execute(query) r = cursor.fetchone() try: query = ( "INSERT INTO `actions`(`name`,`price`,`clientId`) VALUES"

我有以下代码:

    query = "SELECT * FROM `actions` WHERE clientId = '{}'".format(id)
    cursor.execute(query)
    r = cursor.fetchone()

    try:
        query = (
                 "INSERT INTO `actions`(`name`,`price`,`clientId`) VALUES"
                 " ('{}',{}'{}')".format(r['name'],r['price']+10, id)
                 )

        cursor.execute(query)
        self.dbconn.commit()

    except:
        print("something wrong")
我得到了这个错误:

Traceback (most recent call last):
  File "/opt/trybinance01/collector.py", line 179, in function1
    cursor.execute(query)
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/cursors.py", line 165, in execute
    result = self._query(query)
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/cursors.py", line 321, in _query
    conn.query(q)
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/connections.py", line 860, in query
    self._affected_rows = self._read_query_result(unbuffered=unbuffered)
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/connections.py", line 1061, in _read_query_result
    result.read()
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/connections.py", line 1349, in read
    first_packet = self.connection._read_packet()
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/connections.py", line 1008, in _read_packet
    recv_data = self._read_bytes(bytes_to_read)
  File "/opt/trybinance01/venv_binance/lib/python3.6/site-packages/pymysql/connections.py", line 1025, in _read_bytes
    data = self._rfile.read(num_bytes)
AttributeError: 'NoneType' object has no attribute 'read'

为什么这没有被异常捕获并打印“出错”

您的代码中有两个
游标。execute()
s,并且只有一个受
try
/
块的保护,除了


我怀疑如果您将回溯(
179
)中的行与源代码中的行179进行比较,您会发现它是
游标。execute()
位于
try
/
块之外,除了
块。

它可能发生在
游标中。execute
位于
try
块之外。为您的查询指定不同的名称以进行检查。此外,这很容易被注入:您是否确保查询的内容是正确的?