Julia Luxenburger/AG5/MPII/DE 
11/07/2006 09:37 AM

To
[EMAIL PROTECTED]
cc

Subject
Syntax error when inserting strings into a table





Hi, 
I experience a problem with the insertion of strings into a table. 
However, this problem does not occur for all strings and there is no 
pattern or specific character I could find that triggers the exception. 
Okay, here is what I do:



my $stmt_resultset = $this->{db_handler}->prepare_cached("insert into 
resultset(session_id, query_
+id, uri, domain, rank) values(?,?,?,?,?)");
        $success = 1;

        for(my $i = 0; $i < @resultset; $i++)
        {
            my $result = $resultset[$i];
          $success &&= $stmt_resultset->execute($session_id,$query_id,
 
$this->{db_handler}->quote($result),$this->{db_handler}->quote($param4),$i+1 
);
        }

          if($success)
            {
                $this->{db_handler}->commit;
                print STDOUT "..committed" if debug;
            }
            else
            {
                $this->{db_handler}->rollback;
                print "Couldn't store resultset: " . 
$this->{db_handler}->errstr . "\n";
            }

Alternatively, I already tried to use bind_param, e.g., as in

         $stmt_resultset->bind_param(1, $session_id, SQL_INTEGER);
         #   $stmt_resultset->bind_param(2, $query_id, SQL_INTEGER);
         #   $stmt_resultset->bind_param(3, $result, SQL_VARCHAR);

and call execute without arguments which however does not work as well.

Here is a sample of the error I get:

DBD::PgPP::st execute failed: ERROR:  syntax error at or near "www" at 
character 133

This is when trying to insert a URL, however, when inspecting the database 
I find that some urls could have been written, and I cannot make up a 
pattern or specific character that is the reason - I also increased the 
size of the column definition without any effect. 

Has anyone an idea what the cause of this error might be - how to fix it? 

Thanks a lot for your help,
Julia

Reply via email to