Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jugleni Jr

INSERT INTO + 2 Tabelas + MySQL

Recommended Posts

estou com um duvida, preciso fazer um insert em duas tabelas ao mesmo tempo.

Não sei como faço, minha syntax esta errada.

 

Alguem poderia me ajudar?

 

$insertSQL = sprintf("INSERT INTO usuarios user, login ( login.login_login, login.login_senha, user.emp_id, user.user_nome, user.user_sobrenome, user.user_rg, user.user_cpf, user.user_data_nasc, user.user_fone, user.user_fax, user.user_cel, user.user_email, user.user_obs, user.user_data_cad) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",                         GetSQLValueString($HTTP_POST_VARS['emp_id'], "int"),                       GetSQLValueString($HTTP_POST_VARS['login_login'], "text"),                       GetSQLValueString($HTTP_POST_VARS['login_senha'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_nome'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_sobrenome'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_rg'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_cpf'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_data_nasc'], "date"),                       GetSQLValueString($HTTP_POST_VARS['user_fone'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_fax'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_cel'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_email'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_obs'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_data_cad'], "date"));
Mensagem de erro => You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'user, login ( login.login_login, login.login_senha, user.emp_id

 

 

Atenciosamente,

 

Jugleni J. Krinski Jr

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz com você falou:

 

 

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {  $editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];}if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "cad_user")) {  $insertSQL = sprintf("INSERT INTO login (perm_id, login_login, login_senha) VALUES (%s, %s, %s)",                       GetSQLValueString($HTTP_POST_VARS['perm_id'], "int"),                       GetSQLValueString($HTTP_POST_VARS['login_login'], "text"),                       GetSQLValueString($HTTP_POST_VARS['login_senha'], "text"));  mysql_select_db($database_conexao_base, $conexao_base);  $Result1 = mysql_query($insertSQL, $conexao_base) or die(mysql_error());}if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "cad_user")) {  $insertSQL = sprintf("INSERT INTO usuarios (emp_id, user_nome, user_sobrenome, user_rg, user_cpf, user_data_nasc, user_fone, user_fax, user_cel, user_email, user_obs, user_data_cad) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",                       GetSQLValueString($HTTP_POST_VARS['emp_id'], "int"),                       GetSQLValueString($HTTP_POST_VARS['user_nome'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_sobrenome'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_rg'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_cpf'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_data_nasc'], "date"),                       GetSQLValueString($HTTP_POST_VARS['user_fone'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_fax'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_cel'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_email'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_obs'], "text"),                       GetSQLValueString($HTTP_POST_VARS['user_data_cad'], "date"));  mysql_select_db($database_conexao_base, $conexao_base);  $Result1 = mysql_query($insertSQL, $conexao_base) or die(mysql_error());  $insertGoTo = "index.php";  if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";    $insertGoTo .= $HTTP_SERVER_VARS['QUERY_STRING'];  }  header(sprintf("Location: %s", $insertGoTo));}mysql_select_db($database_conexao_base, $conexao_base);$query_consulta_premissao = "SELECT perm_id, perm_nome FROM permissao ORDER BY perm_nome ASC";$consulta_premissao = mysql_query($query_consulta_premissao, $conexao_base) or die(mysql_error());$row_consulta_premissao = mysql_fetch_assoc($consulta_premissao);$totalRows_consulta_premissao = mysql_num_rows($consulta_premissao);mysql_select_db($database_conexao_base, $conexao_base);$query_consulta_empresa = "SELECT emp_id, emp_rasao_soc FROM empresas ORDER BY emp_rasao_soc ASC";$consulta_empresa = mysql_query($query_consulta_empresa, $conexao_base) or die(mysql_error());$row_consulta_empresa = mysql_fetch_assoc($consulta_empresa);$totalRows_consulta_empresa = mysql_num_rows($consulta_empresa);?>

mais agora mosta a seguinte msg => Duplicate entry '0' for key 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri que esta mgs se origina das linhas 8 e 30, se eu tira e linha 8 o 2º insert funciona mais o 1º não!

 

 

 

1 if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "cad_user")) {

2 $insertSQL = sprintf("INSERT INTO login (perm_id, login_login, login_senha) VALUES (%s, %s, %s)",

3 GetSQLValueString($HTTP_POST_VARS['perm_id'], "int"),

4 GetSQLValueString($HTTP_POST_VARS['login_login'], "text"),

5 GetSQLValueString($HTTP_POST_VARS['login_senha'], "text"));

6

7 mysql_select_db($database_conexao_base, $conexao_base);

8 $Result1 = mysql_query($insertSQL, $conexao_base) or die(mysql_error());

9 }

10 if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "cad_user")) {

11 $insertSQL = sprintf("INSERT INTO usuarios (emp_id, user_nome, user_sobrenome, user_rg, user_cpf, 12 user_data_nasc, user_fone, user_fax, user_cel, user_email, user_obs, user_data_cad) VALUES (%s, %s, 13 %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",

14 GetSQLValueString($HTTP_POST_VARS['emp_id'], "int"),

15 GetSQLValueString($HTTP_POST_VARS['user_nome'], "text"),

16 GetSQLValueString($HTTP_POST_VARS['user_sobrenome'], "text"),

17 GetSQLValueString($HTTP_POST_VARS['user_rg'], "text"),

18 GetSQLValueString($HTTP_POST_VARS['user_cpf'], "text"),

19 GetSQLValueString($HTTP_POST_VARS['user_data_nasc'], "date"),

20 GetSQLValueString($HTTP_POST_VARS['user_fone'], "text"),

21 GetSQLValueString($HTTP_POST_VARS['user_fax'], "text"),

22 GetSQLValueString($HTTP_POST_VARS['user_cel'], "text"),

23 GetSQLValueString($HTTP_POST_VARS['user_email'], "text"),

24 GetSQLValueString($HTTP_POST_VARS['user_obs'], "text"),

25 GetSQLValueString($HTTP_POST_VARS['user_data_cad'], "date"));

26

27

28

29 mysql_select_db($database_conexao_base, $conexao_base);

30 $Result1 = mysql_query($insertSQL, $conexao_base) or die(mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uau.. =D"Duplicate entry '0' for key 1", esse erro acontece quando você tenta inserir um registro que já existe (leia-se tenta inserir um registro com uma chave primária que já existe)Só a título de curiosidade.. GetSQLValueString() que função é essa hein?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho q te ensinaram errado essa função não:

 

GetSQLValueString($HTTP_POST_VARS)

 

Onde você achou ela?

Pode dizer pra mim dar uma olhada.

É uma função definida Dreamweaver de Macromedia, não uma função interna de PHP.

É usada pelo Dreamweaver para auto gerenciamento de código, para tratar dos formulários usando PHP.

referencia: www.macromedia.com

 

Mais o que você sabe sobre ela?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera cometi um vacilo, esqueci de auto incrementar minha tabela "login"!

mandando bem ZehOliveira, era exatamente o que você citou!

Valeu obrigado.

 

Vou ter mais atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.