Ошибка произошла здесь из-за использования одинарных кавычек ('
). Вы можете поместить свой запрос следующим образом:
mysql_query("
SELECT * FROM Users
WHERE UserName
LIKE '".mysql_real_escape_string ($username)."'
");
Он использует mysql_real_escape_string
для предотвращения SQL-инъекции. Хотя мы должны использовать расширение MySQLi или PDO_MYSQL для обновленной версии PHP (PHP 5.5.0 и более поздних версий), но для более старых версий mysql_real_escape_string
это будет трюк.
Пожалуйста, прекратите использовать HTMLWorker
, как многократно повторялось в StackOverflow, класс HTMLWorker
был оставлен в пользу XML Worker давным-давно. Мы не будем инвестировать в дальнейшее развитие HTMLWorker
, поэтому использовать его очень плохо. Перейдите к XML Worker.
Также обновите до последней версии iText, версию, которую вы используете в датах с 4 февраля 2011 г. , за 4 года исправлено множество ошибок Прошло. Убедитесь, что у вас есть как контейнер iText, так и баннер XML Worker с тем же номером версии.
Изображения Base64 еще не поддерживаются, но я сделал вам очень простое доказательство концепции, показывая, насколько легко это заключается в добавлении поддержки для таких изображений. Взгляните на пример ParseHtml4 и полученный PDF: html_4.pdf .
Для этого вам нужно написать реализацию ImageProvider
. Я сделал это, расширив класс AbstractImageProvider
:
class Base64ImageProvider extends AbstractImageProvider {
@Override
public Image retrieve(String src) {
int pos = src.indexOf("base64,");
try {
if (src.startsWith("data") && pos > 0) {
byte[] img = Base64.decode(src.substring(pos + 7));
return Image.getInstance(img);
}
else {
return Image.getInstance(src);
}
} catch (BadElementException ex) {
return null;
} catch (IOException ex) {
return null;
}
}
@Override
public String getImageRootPath() {
return null;
}
}
Как вы можете видеть, я проверяю существование "base64,"
в том, что передается XML-работнику через атрибут src
тег img
. Если присутствует String
, я расшифровываю все, что следует за "base64,"
, и я возвращаю объект Image
, который создается с помощью результирующих байтов.
После того, как вы создали эту реализацию ImageProvider
, это только вопрос передачи его XML-работнику.