Пожалуйста, проверьте, как только выбранная база данных не была вызвана, потому что некоторая база данных не выбрана
Проверьте
mysql_select_db('database name ')or DIE('Database name is not available!');
перед запросом MySQL, а затем перейдите к следующему шагу
$result = mysql_query('SELECT * FROM Users WHERE UserName LIKE $username');
f($result === FALSE) {
die(mysql_error());
Путаница объясняется тем, что символ обратной косой черты \
используется как побег на двух разных уровнях. Во-первых, интерпретатор Python сам выполняет подстановки для \
, прежде чем модуль re
когда-нибудь увидит вашу строку. Например, \n
преобразуется в символ новой строки, \t
преобразуется в символ табуляции и т. Д. Чтобы получить фактический символ \
, вы также можете избежать его, поэтому \\
дает один \
] персонаж. Если символ, следующий за \
, не является признанным escape-символом, тогда \
обрабатывается как любой другой символ и проходит через него, но я не рекомендую в зависимости от этого. Вместо этого всегда избегайте ваши символы \
, удваивая их, т. Е. \\
.
Если вы хотите увидеть, как Python расширяет ваши экраны строк, просто распечатайте строку. Например:
s = 'a\\b\tc'
print s
Если s
является частью совокупного типа данных, например. список или кортеж, и если вы напечатаете этот агрегат, Python заключит строку в одинарные кавычки и будет включать экраны \
(в канонической форме), поэтому имейте в виду, как печатается ваша строка. Если вы просто напечатаете в интерпретаторе строку с кавычками, она также отобразит ее в кавычках с экранами '\'.
Как только вы знаете, как кодируется ваша строка, вы можете подумать о том, что re
. Например, если вы хотите сбежать \
в строку, которую вы переходите к модулю re
, вам необходимо передать \\
в re
, что означает, что вам нужно будет использовать \\\\
в вашем цитированном Python строка. Строка Python закончится с \\
, а модуль re
будет рассматривать это как единственный литерал \
.
Альтернативный способ включения символов \
в строках Python - использовать необработанные строки, например r'a\b'
эквивалентен "a\\b"
.
Собственный синтаксический анализ Python (частично) на вашем пути.
Если вы хотите увидеть, что видит re
, введите
print '\d'
print '\\d'
print '\\\d'
в командной строке Python. Вы видите, что в \d
и \\d
оба результата приводятся в \d
, последний из которых берет на себя парсер Python.
Если вы хотите избежать любых проблем с ними, используйте необработанные строки как предложенный re module documentation : r'\\d'
приведет к \\d
, видимому модулю RE.