Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用AI ID字段复制MySQL记录_Php_Mysql - Fatal编程技术网

Php 使用AI ID字段复制MySQL记录

Php 使用AI ID字段复制MySQL记录,php,mysql,Php,Mysql,我正在尝试使用以下函数复制我的MySQL记录。它说我的SQL中有一个错误,我看不到。我在底部添加了一些回声来帮助诊断。还有,有没有更简单的方法来分别命名每一行?(行[$x]) 该函数基本上是读取发布到它的ID,然后将其写回DB,就好像用户只是自己输入它,而没有按下复制按钮一样 我在堆栈上尝试了其他代码,我想我应该写一个我真正理解的代码,所以它就在这里 编辑:我的第二个查询似乎也是有问题的 谢谢大家! function procDupRec(){ $id = mysql_real_esc

我正在尝试使用以下函数复制我的MySQL记录。它说我的SQL中有一个错误,我看不到。我在底部添加了一些回声来帮助诊断。还有,有没有更简单的方法来分别命名每一行?(行[$x])

该函数基本上是读取发布到它的ID,然后将其写回DB,就好像用户只是自己输入它,而没有按下复制按钮一样

我在堆栈上尝试了其他代码,我想我应该写一个我真正理解的代码,所以它就在这里

编辑:我的第二个查询似乎也是有问题的

谢谢大家!

function procDupRec(){

    $id = mysql_real_escape_string($_GET['duplicate']);

    $query = "SELECT * FROM contacts WHERE id=$id";

            $result = mysql_query($query);      

            while($row = mysql_fetch_row($result)){

            $category = $row[1];
            $dateEntered = $row[2];
            $account = $row[3];
            $firstName = $row[4];
            $lastName = $row[5];
            $company = $row[6];
            $titlePos = $row[7];
            $officeNum = $row[8];
            $phoneExt = $row[9];        
            $homeNum = $row[10];
            $mobileNum = $row[11];
            $pagerNum = $row[12];
            $faxNum = $row[13];
            $address1 = $row[14];
            $address2 = $row[15];
            $city = $row[16];
            $state = $row[17];
            $zip = $row[18];
            $email = $row[19];
            $website = $row[20];
            $notes = $row[21];  
            $editBit = $row[22];    
            $protection = $row[23];
            $lastIP = $_SERVER['REMOTE_ADDR'];

            }

            $query2 = mysql_query("INSERT INTO contacts (category, dateEntered, account, firstName, lastName, company, titlePos, officeNum, phoneExt, homeNum, mobileNum, pagerNum, faxNum, address1, address2, city, state, zip, email, website, notes, editBit, protection, lastIP) VALUES ('$category', '$dateEntered', '$account', '$firstName', '$lastName', '$company', '$titlePos', '$officeNum', '$phoneExt', '$homeNum', '$mobileNum', '$pagerNum', '$faxNum', '$address1', '$address2', '$city', '$state', '$zip', '$email', '$website', '$notes', '$editBit', '$protection', '$lastIP')");

            $result2 = mysql_query($query2);

            echo $query2;

            echo mysql_error();



}

执行查询后,回显查询将不起作用。这将只包含一个结果

您应该在执行查询之前存储查询,如下所示

$query2 ="INSERT INTO contacts (category, dateEntered, account, firstName, lastName, company, titlePos, officeNum, phoneExt, homeNum, mobileNum, pagerNum, faxNum, address1, address2, city, state, zip, email, website, notes, editBit, protection, lastIP) VALUES ('$category', '$dateEntered', '$account', '$firstName', '$lastName', '$company', '$titlePos', '$officeNum', '$phoneExt', '$homeNum', '$mobileNum', '$pagerNum', '$faxNum', '$address1', '$address2', '$city', '$state', '$zip', '$email', '$website', '$notes', '$editBit', '$protection', '$lastIP')";
mysql_query($query2);
这样,您就可以使用
echo$query2

复制的另一个选项:

$query = "INSERT INTO contacts 
                    (category, dateEntered, account, firstName, lastName, company, titlePos, officeNum, phoneExt, homeNum, mobileNum, pagerNum, faxNum, address1, address2, city, state, zip, email, website, notes, editBit, protection, lastIP) 

                    (SELECT category, dateEntered, account, firstName, lastName, company, titlePos, officeNum, phoneExt, homeNum, mobileNum, pagerNum, faxNum, address1, address2, city, state, zip, email, website, notes, editBit, protection, lastIP FROM contacts WHERE id=$id)" 
mysql_query($query);

然后我得到一个“键1的重复条目'2852'”ID行是否自动递增?因为如果是,那么ID字段应该是ignoredPrimary Key、Auto-increment,并且ID字段的Not Null处于启用状态。我更改了查询以单独添加所有列