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
              CR_COMMANDS_OUT_OF_SYNC
            
Os comando foram executados em uma ordem inpropriada.
              CR_OUT_OF_MEMORY
            
Falta de memória
              CR_SERVER_GONE_ERROR
            
O servidor MySQL foi finalizado.
              CR_SERVER_LOST
            
A conexão ao servidor MySQL foi perdida durante a consulta.
              CR_UNKNOWN_ERROR
            
Um erro desconhecido ocorreu.
          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 Secção 12.1.7.5, “mysql_execute()”.
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

