Не удается поймать pymysql.err.IntegrityError из приложения python (Flask) [дубликат]

Ваш код должен быть чем-то вроде этого

$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM Users WHERE UserName LIKE '$username'";
echo $query;
$result = mysql_query($query);

if($result === FALSE) {
    die(mysql_error("error message for the user")); 
}

while($row = mysql_fetch_array($result))
{
    echo $row['FirstName'];
}

. После этого вы получите запрос, напечатанный на экране. Попробуйте выполнить этот запрос на своем сервере и посмотрите, дает ли он желаемые результаты. В большинстве случаев ошибка содержится в запросе. Остальная часть кода верна.

3
задан Allen Lin 21 December 2015 в 22:26
поделиться

1 ответ

SQLAlchemy повышает значение sqlalchemy.exc.IntegrityError, которое обертывает основное исключение, а не исключение из драйвера базы данных.

sqlalchemy.exc.IntegrityError: (sqlite3.IntegrityError) NOT NULL constraint failed: user.name [SQL: 'INSERT INTO user (name) VALUES (?)'] [parameters: (None,)]

Проверьте правильное исключение.

from sqlalchemy.exc import IntegrityError
self.assertRaises(IntegrityError, db.session.commit)
6
ответ дан davidism 26 August 2018 в 00:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: