--- Wade Smart <[EMAIL PROTECTED]> wrote:
> I have been having a problem inserting data into the db. Well, that isnt
> true. I tested this thoroughly on my own system before uploading it to the
> server and then the error occurred right away.
>
> The query:
> INSERT INTO
>
deer_product(deer_type,name,parent_father,parent_mother,parent_father_father,parent_father_mother,parent_mother_father,parent_mother_mother,parent_father_father_father,parent_father_father_mother,parent_father_mother_father,parent_father_mother_mother,parent_mother_father_mother)
>
> VALUES ('doe', 'Jaky', 'Big Jake', 'Dropper Doe', 'MAx', 'Y-35', 'Dropper',
> 'T
> Condict Found''Angus', 'Waldvogel Chief Doe', 'Waldvogel Boomer', 'Tex Doe',
> 'T
> Condict Found')
>
> You'll see the problem is just before 'Angus'; there is no comma there.
>
> I use this little script to handle the data query:
> $lastdeerkey = end($deer_key);
> foreach($deer_key as $key => $value){
> if($value != $lastdeerkey){
> $deer_key[$key] = $value.",";
> }
> }
>
> // put commas between values
>
> foreach($deer_data as $key => $value){
> $deer_data[$key] = "'".$value."'";
> }
>
> $lastdeervalue = end($deer_data);
> foreach($deer_data as $key => $value){
> if($value != $lastdeervalue){
> $deer_data[$key] = $value.", ";
> }
> }
>
> I cant see that there is an error but can anyone see something I missed?
> Im not sure why id didnt put in a comma on that one item though.
>
> Wade
Queries like that become really hard to read and debug when things go wrong.
You are using a format like this:
INSERT INTO tablename (col1, col2, col3) VALUES ('val1', 'val2', 'val3');
When there are just a few columns and values, it's not too hard to work with.
However, I usually use this alternate syntax which keeps the field and value
together in the query:
INSERT INTO tablename SET col1='val1', col2='val2', col3='val3';
It's even a little shorter. :) The main benefit is that it is easier to
compose the query in loop structures since you usually have both the field name
and the value at a given instant.
As far as why you are getting missing commas, I'm not sure. However, if one of
your inputs had a single quote and it was not escaped, strange things can
occur. Validate all inputs sent to a query or really bad things can happen.
James