我正在使用 curl 從 json 檔案中獲取資料,并且我想根據“tblclients”表將資料 id 添加到我的“tblcustomfieldsvalues”mysql 表中。我正在使用 mysqli_insert_id 但我無法成功。當我添加資料時,它從 tblclients 向 tblcustomfieldsvalues 表插入最后一個 id。我相信我必須制作一個陣列來添加它們相關的表。
因此,每行的 tblclients id(它是主鍵和自動增量)值必須與 $relid 相等。這是從 php 連接 mysql 的 tblclients 和 tblcustomfieldsvalues 代碼。
$stmt = $mysqli->prepare("
INSERT INTO tblclients(company,country,active,datecreated,default_currency,show_primary_contact,registration_confirmed,addedfrom)
VALUES(?,?,?,?,?,?,?,?)
");
$stmt->bind_param("siisiiii",$title,$country,$active,$datecreated,$default_currency,$show_primary_contact,$registration_confirmed,$addedfrom);
$inserted_rows = 0;
foreach ($json['result'] as $product) {
$title = $product['a'];
$country = $product['b'];
$active = $product['c'];
$datecreated = $product['_date'];
$default_currency = $product['d'];
$show_primary_contact = $product['e'];
$registration_confirmed = $product['f'];
$addedfrom = $product['g'];
$stmt->execute();
$inserted_rows ;
}
和
$stmt2 = $mysqli2->prepare("
INSERT INTO tblcustomfieldsvalues(relid,fieldid,fieldto,value)
VALUES(?,?,?,?)
");
$stmt2->bind_param("iiss", $relid,$fieldid,$fieldto,$value);
$inserted_rows = 0;
foreach ($json['result'] as $product) {
$relid = mysqli_insert_id($mysqli);
$fieldid = "1";
$fieldto = "customers";
$value = $product['z'];
$stmt2->execute();
$inserted_rows ;
}
我只是編碼新手,我進行了研究,但我無法弄清楚。我的代碼可能還有其他錯誤。如果我有任何問題,請糾正我。
謝謝你。
uj5u.com熱心網友回復:
請將第二個查詢放在回圈內第一個查詢的下方(這樣您就可以從 $stmt->insert_id; 獲取最后一個插入 id;然后在第二個查詢中使用它)
一個 foreach 回圈就足夠了,所以代碼是:
<?php
$stmt = $mysqli->prepare("
INSERT INTO tblclients(company,country,active,datecreated,default_currency,show_primary_contact,registration_confirmed,addedfrom)
VALUES(?,?,?,?,?,?,?,?)
");
$stmt->bind_param("siisiiii",$title,$country,$active,$datecreated,$default_currency,$show_primary_contact,$registration_confirmed,$addedfrom);
$stmt2 = $mysqli2->prepare("
INSERT INTO tblcustomfieldsvalues(relid,fieldid,fieldto,value)
VALUES(?,?,?,?)
");
$stmt2->bind_param("iiss", $relid,$fieldid,$fieldto,$value);
$inserted_rows = 0;
//$inserted_rows = 0;
foreach ($json['result'] as $product) {
$title = $product['a'];
$country = $product['b'];
$active = $product['c'];
$datecreated = $product['_date'];
$default_currency = $product['d'];
$show_primary_contact = $product['e'];
$registration_confirmed = $product['f'];
$addedfrom = $product['g'];
$stmt->execute();
/////////////////
// $relid = mysqli_insert_id($mysqli);
$relid =$stmt->insert_id;
$fieldid = "1";
$fieldto = "customers";
$value = $product['z'];
$stmt2->execute();
$inserted_rows ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/514515.html
標籤:phpmysql
