2013-04-09 2 views
1

Я сделал это в C# before и mssql и задавался вопросом, знал ли кто-нибудь, как я буду делать это с помощью mysql и php.Php найти требуемые параметры mysql

У меня есть хранимая процедура. Мне нужно найти все параметры, необходимые из хранимой процедуры. Отсюда я могу сопоставить свой объект с параметрами и передать их в хранимую процедуру.

Это спасло бы меня так много времени, если кто-нибудь знает, как это можно сделать, а не повторяться для каждой вставки.

В основном вы хотите узнать параметры, которые хранимая процедура имеет с php для базы данных mysql.

+0

Посмотрите на ORM вместо хранимых процедур –

+0

, почему ORMs - это медленнее и менее безопасно. Лучше всего иметь логику на уровне базы данных для обеспечения безопасности, скорость –

+0

работает команда 'SHOW PROCEDURE STATUS'? – verbumSapienti

ответ

1

Вы можете достичь этого, используя встроенную базу данных MySQL information_schema. Эта база данных используется сама MySQL для хранения метаданных информацию о схеме, таблицы, столбцы, ... и процедуры :)

Используйте следующий запрос, чтобы получить информацию обо всех Params, которые принадлежат к процедуре:

SELECT * FROM `information_schema`.`PARAMETERS` 
WHERE `SPECIFIC_NAME` = 'YOUR_PROCEDURE_NAME' 
    AND `SPECIFIC_SCHEMA` = 'YOUR_DATABASE_NAME' 

Конечно, вы можете уточнить запрос.

+0

спасибо, поэтому единственный способ - запросить базу данных? –

+0

Я думаю, да. Существует 'SHOW PROCEDURE CODE your_procedure', но это даст вам код, а не params (и будет работать, только если mysql скомпилирован с' --with-debug' был маловероятным по умолчанию) – hek2mgl

+0

.net использует SqlCommandBuilder.DeriveParameters думаю это то же самое, что и выше накладные расходы на базу данных каждый раз –

Смежные вопросы