php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #33757 Duplicidade de registros - insert
Submitted: 2005-07-18 20:36 UTC Modified: 2005-07-19 13:43 UTC
From: manzoli at cisi dot coppe dot ufrj dot br Assigned:
Status: Not a bug Package: Sybase-ct (ctlib) related
PHP Version: 4.4.0 OS: PHP
Private report: No CVE-ID: None
 [2005-07-18 20:36 UTC] manzoli at cisi dot coppe dot ufrj dot br
Description:
------------
Estou realizando um insert.
Consigo gravar no banco, por?m est? me ocasionando erro de duplicidade.
? como se o IIS guardasse o comando e o enviasse novamente.

Reproduce code:
---------------
Trabalho com php e estou fazendo uma conex?o sybase. 

Primeiro - como sei no php se estou usando sybase-ct ou sybase-db? 
Segundo - o que e melhor para se trabalhar sybase_pconnect ou sybase_connect? 

Olha s? estou fazendo o seguinte insert: 

for ($i = 0; $i <= $total_itens; $i++) { 
include "inc_busca_conexao_syb.php"; 

// Grava dados do formul?rio. 
$item = $_POST["item_$i"]; 
$descricao = $_POST["descricao_$i"]; 

if ($item) 
{ 

$sql = "INSERT INTO tabela "; 
$sql .= "(coi_item, cos_prot_destino, dat_solicitacao, stv_descricao, "; 
$sql .= "cos_prot_origem, stc_status) "; 
$sql .= "values ("; 
$sql .= "$item, '$prot_destino', convert(datetime,'$data_solicitacao', 
103), "; 
$sql .= "'$descricao','$prot_origem', 'N' "; 
$sql .= ")"; 

$resultado = sybase_query(trim($sql),$db_conexao->db_connect_id); 

sybase_free_result($resultado); 
sybase_close($db_conexao->db_connect_id); 
} 

precisei abrir e fechar a conex?o dentro do for, pois estava dando erro de 
duplicidade o tempo todo. N?o consegui descobrir o porque. 

Minha conex?o est? da seguinte forma: 

$db_user = "xxxxx"; //usuario do banco 
$db_passwd = "yyyyy"; //senha do usuario 
$db_database = "BBBBB"; //nome da base de dados 
$db_server = "CCCCCCC"; //nome da base de dados 

require("inc_conectardb_syb.php"); 

$db_conexao = new sql_db; 
$db_conexao->sql_db($db_server,$db_user,$db_passwd,$db_database) or die 
("Falha na chamada de conex?o"); 
sybase_select_db($db_database, $db_conexao->db_connect_id) or die ("Falha na 
sele??o do database"); 

define("SQL_LAYER","sql-sybase"); 

class sql_db 
{ 

var $db_connect_id; 
var $result; 

var $next_id; 

var $num_rows = array(); 
var $current_row = array(); 
var $field_names = array(); 
var $field_types = array(); 
var $result_rowset = array(); 

var $num_queries = 0; 

// 
// Constructor 
// 
function sql_db($sqlserver, $sqluser, $sqlpassword, $database, 
$persistency = false) 
{ 
$this->persistency = $persistency; 
$this->server = $sqlserver; 
$this->user = $sqluser; 
$this->password = $sqlpassword; 
$this->dbname = $database; 

($this->db_connect_id = ($this->persistency) ? sybase_pconnect 
($this->server, $this->user, $this->password) : sybase_connect($this->server, 
$this->user, $this->password)); 

return ( $this->db_connect_id ) ? $this->db_connect_id : 
false; 
} 
} 

TEM COMO ME AJUDAR. N?O QUERIA ABRIR E FECHAR CONEX?O A CADA PASSADA NO FOR. 

 
    

1 usu?rio(s) lendo este t?pico (0 visitantes e 0 usu?rios an?nimos)



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-07-18 20:39 UTC] tony2001@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.


 [2005-07-18 20:40 UTC] derick@php.net
Speak english here.
 [2005-07-19 13:43 UTC] nlopess@php.net
it's not a bug report, just a couple of questions.
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sat Jul 20 10:01:27 2019 UTC