Ir para conteúdo

POWERED BY:

Arquivado

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

Lucas-5281

Identificar dado repetido

Recommended Posts

Boa tarde Galera blz?

Estou com um sistema que identifica um campo repetido só que agora quero fazer identificar 2 campo repetido. Como faço?

// *** redireciona existentes

$MM_flag="MM_insert";
if (isset($_POST[$MM_flag])) {
  $MM_dupKeyRedirect="erro-ja-existe";
  $loginUsername = $_POST['identificao1'];
  $LoginRS__query = sprintf("SELECT identificação1 FROM dados WHERE identificação=%s", GetSQLValueString($loginUsername, "text"));

Como faço para identificar o campo ( identificao2 ) ?

 

Eu fiz assim:

 

$loginUsername = $_POST['identificao1'];
$loginUsername2 = $_POST['identificação2'];
$LoginRS__query = sprintf("SELECT identificação1, identificação2 FROM comprovantes WHERE identificação=%s, identificação2=%s",
GetSQLValueString($loginUsername, $loginUsername2, "text")); <---- LINHA 184

Mas esta dando erro na linha 184:

Warning: sprintf() [function.sprintf]: Too few arguments in /home/u101995373/public_html/comprovantes.php on line 184
Query was empty

 

 

Valew;....

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro está nessa parte

GetSQLValueString($loginUsername, $loginUsername2, "text")); <---- LINHA 184

 

o certo seria

 

GetSQLValueString($loginUsername, "text"), GetSQLValueString($loginUsername2, "text");

 

Depois entre na função GetSQLValueString e veja como funciona;

 

 

Sendo assim o certo para sua aplicação é esse:

 

$LoginRS__query=sprintf("SELECT identificação1, identificação2 FROM comprovantes WHERE identificação=%s, identificação2=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($loginUsername2, "text"));

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa blz Rafael, muito obrigado pela ajuda é bom saber que aqui temos com quem contar =D

 

Agora parece que deu certo porem esta dando o seguinte erro:

 

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' horario='23/09/2015'' at line 1

 

o que sera que pode ser esse erro?

$MM_flag="MM_insert";
if (isset($_POST[$MM_flag])) {
  $MM_dupKeyRedirect="erro-comprovante";
  
$loginUsername = $_POST['identificao'];
$loginUsername2 = $_POST['horario'];

$LoginRS__query=sprintf("SELECT identificação, horario FROM comprovantes WHERE identificação=%s, horario=%s",
GetSQLValueString($loginUsername, "text"), GetSQLValueString($loginUsername2, "text"));

  
  mysql_select_db($database_config, $config);
  $LoginRS=mysql_query($LoginRS__query, $config) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);

  //if there is a row in the database, the username was found - can not add the requested username
  if($loginFoundUser){
    $MM_qsChar = "?";
    //append the username to the redirect page
    if (substr_count($MM_dupKeyRedirect,"?") >=1) $MM_qsChar = "&";
    $MM_dupKeyRedirect = $MM_dupKeyRedirect . $MM_qsChar ."requsername=".$loginUsername;
    header ("Location: $MM_dupKeyRedirect");
    exit;
  }
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO comprovantes (favorecido, identificação, horario, logincs, verdevermelho) VALUES (%s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['favorecido'], "text"),
                       GetSQLValueString($_POST['identificao'], "text"),
                       GetSQLValueString($_POST['horario'], "text"),
                       GetSQLValueString($_POST['logincs'], "text"),
                       GetSQLValueString($_POST['verdevermelho'], "text"));

  mysql_select_db($database_config, $config);
  $Result1 = mysql_query($insertSQL, $config) or die(mysql_error());
}

mysql_select_db($database_config, $config);
$query_Recordset1 = "SELECT * FROM comprovantes ORDER BY id DESC";
$Recordset1 = mysql_query($query_Recordset1, $config) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso é erro na hora de montar a query;

 

da um echo $LoginRS__query;

 

e analise o erro;

Compartilhar este post


Link para o post
Compartilhar em outros sites

se ainda não resolveu, algumas dicas:

1- poste o erro;

2- execute a instrução SQL direto no banco;

3- não use acentos, til, cedilhas, espaços etc. em nomes de objetos de bancos de dados;

4- essas funções (mysql*) estão obsoletas; pesquise sobre PDO

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.