mysql_prepare()


MYSQL_STMT * mysql_prepare(MYSQL *mysql, const char *query, unsigned long length)

Descrição

Prepara a consulta SQL apontada pela string com terminação em nulo query, e retorna um handle da instrução para ser usado por operações adicionais na instrução. A consulta deve consistir de uma única instrução SQL. Você não deve adicionar ponto e virgula (';') ou \g a instrução.

A aplicação pode incluir um ou mais marcadores de parâmetro na instrução SQL, embutindo interrogações ('?') na string SQL na posição aprpriada.

Os marcadores só são válidos em certos lugares na instrução SQL. Por exemplo, eles não são permitidos em lista VALUES() de uma instrução INSERT (para especificar valores para uma linha ou em uma comparação com uma coluna em uma cláusula WHERE para especificar uma valor de comparação. No entanto, eles não são permitidos como identificadores (tais como nomes de colunas ou tabelas), na lista select que indica as colunas a serem retornadas por uma instrução SELECT), ou para especificar ambos operandos de um operador binário como o sinal de igual =. A última restrição é necessária porque seria impossível determinar o tipo do parâmetro. Em geral, parâmetros são válidos somente em instrução de Linguagem de Manipulação de Dados (Data Manipulation Languange-DML), e não em instruções de Linguagem de Definição de Dados (Data Defination Language-DDL).

Os marcadores de parâmetro devem limitar variáveis de aplicações utilizando mysql_bind_param() antes de executar a instrução.

Valor Retornado

Um ponteiro para uma estrutura MYSQL_STMT se o preparo obteve sucesso. NULL se ocorreu um erro.

Erros

Se o preparo não obteve sucesso (isto é, mysql_prepare() retorna um ponteiro NULL), as mensagens de erros podem ser obtidas chamando mysql_error().

Exemplo

Para o uso de mysql_prepare() consulte o exemplo de "mysql_execute()".

Retornar