Внесение изменений в неизменяемую строку в Python [duplicate]

Как объяснил scompt.com , запрос может завершиться ошибкой. Используйте этот код, чтобы получить ошибку запроса или правильный результат:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query("
SELECT * FROM Users 
WHERE UserName LIKE '".mysql_real_escape_string($username)."'
");

if($result)
{
    while($row = mysql_fetch_array($result))
    {
        echo $row['FirstName'];
    }
} else {
    echo 'Invalid query: ' . mysql_error() . "\n";
    echo 'Whole query: ' . $query; 
}

Для получения дополнительной информации см. Документацию для mysql_query() .

Фактической ошибкой были одиночные кавычки, так что переменная $username не анализировалась. Но вы действительно должны использовать mysql_real_escape_string($username), чтобы избежать инъекций SQL.

1
задан DntMesArnd 23 October 2015 в 15:28
поделиться

1 ответ

Причина, по которой Python интерпретирует ввод пользователя в виде целого числа из-за строки input('Enter a math equation: '). Python интерпретирует это как eval(raw_input(prompt)). Функция raw_input создает строку из пользовательского ввода, а eval оценивает этот вход - поэтому вход 5+2 считается "5+2" на raw_input, а eval оценивает значение 7 .

Документация

1
ответ дан rob 5 September 2018 в 06:38
поделиться
Другие вопросы по тегам:

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