I assume you want to do this within PHP and not native Sql?

Copy sqlSet function below. You could then, for example, code:

// Get data into an associative array by whatever db extraction level you are using with query like:
// SELECT * FROM table-name WHERE id = 123
// and put data in assoc array $data. Then...


$query = 'INSERT INTO table-name SET '.sqlSet($data);

// The auto increment will automatically create a new key for you of course.

function sqlSet($assoc_arr, $drop_blanks=false, $quote="'") {
    $s = '';
    $comma = '';
    foreach ($assoc_arr as $fld => $val) {
        if ($drop_blanks and $val == '') continue; // continue.
        $s .= $comma.$fld.'='.$quote.addslashes($val).$quote;
        $comma = ',';
    return $s;

Hope this is useful for you. Ross.

Mailing-List: contact [EMAIL PROTECTED]; run by ezmlm
list-help: <mailto:[EMAIL PROTECTED]>
list-unsubscribe: <mailto:[EMAIL PROTECTED]>
list-post: <mailto:[EMAIL PROTECTED]>
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws;
        s=beta; d=gmail.com;


Date: Wed, 8 Dec 2004 10:46:44 -0500
From: blackwater dev <[EMAIL PROTECTED]>
Reply-To: blackwater dev <[EMAIL PROTECTED]>
Subject: [PHP-DB] select particular columns in query


I want to create a new row in the db by copying an existing one.  My
db has an auto incrementing id so I can't simply do insert into cars
select * from cars where id=$id as this throws the primary key error.
How can I do this with out specifying each column?


PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

. . Ross Honniball. JCU Bookshop Cairns, Qld, Australia. .

PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to