[英]Using PHP how do I retrieve a certain field value from a database table and then input that single field value into a new table
這是我嘗試過的...我正在使用select語句從父表中獲取id,其中電子郵件等於用戶提供的電子郵件。 從父表中獲取id之后,我想將此id設置為子表中的parent_id字段,並將其設置為子表中的字段值。
例如,我的父表有id,first_name,last_name,地址,電話,電子郵件,picture_approval和日期。 然后子表具有id,child_first_name,child_last_name和parent_id
// already connected to database successfully
{
try
{
$sql = 'INSERT INTO parents SET
first_name = :fname,
last_name = :lname,
address = :address,
phone = :phone,
email = :email,
picture_approval = :picture,
date = NOW()';
$s = $pdo->prepare($sql);
$s->bindValue(':fname', $_POST['g_first_name']);
$s->bindValue(':lname', $_POST['g_last_name']);
$s->bindValue(':address', $_POST['address']);
$s->bindValue(':phone', $_POST['phone']);
$s->bindValue(':email', $_POST['email']);
$s->bindValue(':picture', $_POST['pictures']);
$s->execute();
}
catch (PDOException $e)
{
$errors[] = 'Error adding parent to database.';
}
}
//the above code works perfectly
但接下來的部分永遠不會奏效。
try
{
$sql = "SELECT id FROM parents WHERE email = :email";
$s = $pdo->prepare($sql);
$s->bindValue(':email', $_POST['email']);
$s->execute();
$s->bind_result($returned_id);
$s->fetch();
$fieldValue = "$returned_id";
}
catch (PDOException $e)
{
$errors[] = 'Error retrieving parent.';
}
然后我想設置我的INSERT INTO子語句...但不確定如何,因為我的SELECT語句似乎沒有正常工作。 我確實發現這個PHP函數從數據庫中提取字段值但它只輸出值,我需要將它放入另一個表中。
$fieldValue = $returned_id;
$ returned_id不應該在引號中
一個很好的方法是創建自己的功能。
function getParentID($conn, $email)
{
$sql = "SELECT id FROM parents WHERE email='$email' LIMIT 1";
foreach ($conn->query($sql) as $row)
{
$parentIDinside = $row['id'];
}
return $parentIDinside;
}
然后調用該函數。 您將傳遞數據庫連接和電子郵件地址,該函數將找到與該電子郵件地址匹配的parentID。 可以修改此功能。
include 'includes/db.inc.php'; //my database connection that creates a new $pdo connection
$parentID = getParentID($pdo, $_POST['email']);
現在,變量$ parentID使用提供的電子郵件存儲數據庫中的實際parentID,您可以在INSERT語句中或其他任何您喜歡的地方使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.