Есть так много ответов для PHP и MySQL, но вот код для PHP и Oracle для предотвращения SQL-инъекций, а также регулярное использование драйверов oci8:
$conn = oci_connect($username, $password, $connection_string);
$stmt = oci_parse($conn, 'UPDATE table SET field = :xx WHERE ID = 123');
oci_bind_by_name($stmt, ':xx', $fieldval);
oci_execute($stmt);
Кроме того, начиная в Python 2.5, относительный импорт возможен. например:
from . import foo
Заключение в кавычки от http://docs.python.org/tutorial/modules.html#intra-package-references :
<час>Запуск с Python 2.5, в дополнение к неявному относительному импорту, описанному выше, можно записать явный относительный импорт с от формы имени импорта модуля оператора импорта. Эти явный родственник импортирует точки продвижения использования для указания на текущие и родительские пакеты, вовлеченные в относительный импорт. От окружающего модуля, например, Вы могли бы использовать:
from . import echo
from .. import formats
from ..filters import equalizer
Это точно не отвечает на Ваш вопрос, но я собираюсь предложить, чтобы Вы переместили функцию за пределами __init__.py
файл, и в другой модуль в том пакете. Можно тогда легко импортировать ту функцию в другой модуль. Если Вы хотите, у Вас может быть оператор импорта в __init__.py
файл, который импортирует ту функцию (когда пакет будет импортирован), также.
Если пакет называют testmod
, и Ваш init файл поэтому testmod/__init__.py
, и Ваш модуль в пакете submod.py
тогда из submod.py
файл, необходимо просто быть в состоянии сказать import testmod
и использовать независимо от того, что Вы хотите, это определяется в testmod.
Я не полностью уверен, какова ситуация, но это может решить Вашу проблему "другого имени":
import __init__ as top
top.some_function()
Или возможно?:
from __init__ import some_function
some_function()
В Django файл manage.py имеет from django.core.management import execute_manager
, но execute_manager
не модуль. Это - функция в __init__.py
модуль management
каталог.