これは私が試したものです... select文を使ってIDを取得しています電子メールがユーザーによって提供された電子メールと等しい親テーブル。親テーブルからIDを取得した後、このIDを子テーブルのparent_idフィールドに、子テーブルのフィールド値に設定します。PHPを使用するデータベーステーブルから特定のフィールド値を取得して、その単一フィールド値を新しいテーブルに入力するには
たとえば、私の親テーブルには、id、first_name、last_name、address、phone、email、picture_approvalおよびdateがあります。そして、子テーブルには、ID、child_first_name、child_last_name、および
// 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
をPARENT_IDしかし、その後、この次の部分が動作することはありませんがあります。
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.';
}
は、それから私は、子供文のINTO私のINSERTを設定したい...しかし、私のSELECT文が表示されませんので、どのようにではない、実際に確認してくださいが正しく動作するように。 私はこれを見つけましたPHP function to extract a field value from a databaseしかし、それは値を出力するだけです、私はそれを別のテーブルに入れる必要があります。
コードが順番に実行される場合は、 'PDO :: lastInsertID'を使用します。 http://php.net/manual/en/pdo.lastinsertid.php – bassxzero
PDOまたはmysqliを使用していますか? ['bind_result'](http://php.net/manual/en/mysqli-stmt.bind-result.php)はmysqli関数であり、PDO関数ではありません。 –
そのような質問でコードを大幅に変更しないでください*。そうすることで、質問全体が変更され、すでに与えられた回答が無効になります。新しい変更を加えた編集内容を既存のものと一緒に追加して投稿することもできます。そうでない場合は、別の質問がある場合は新しい投稿をしてください。 – Siyual