1

私は PDO ベースの MySQL に慣れていないので、問題に直面しています。

これは私が実行している方法です:

public function insert( $table, $data )
{
  // utility functions to auto-format the statements
  $keys = $this->getKeys($data);
  $placeholders = $this->getPlaceholders($data);

  $q = "INSERT INTO $table ($keys) VALUES ($placeholders)";

  // this simply returns a new PDO object
  $dbh = $this->createSession();

  $stmt = $dbh->prepare($q);
  $stmt->execute( array_values($data) );

  return $dbh->lastInsertId();
}

その後、メソッドを実行し、戻り値を変数に格納します。

$new_user_id = $U->insert( $data );

var_dump($new_user_id);

そして、私は得る

NULL

クエリが実際に実行され、データがテーブルに正しく挿入されていることに注意してください。その辺は問題ありません。私が要求したときに、最後の挿入 ID を取得できないようです。

御時間ありがとうございます。

4

2 に答える 2

0

コードをもう一度見直したところ、値が最上位のメソッドに正しく渡されていない中間メソッドが原因で、値が返されていないことがわかりました。

ソースで値を確認しても問題はありません。

とにかく返信をありがとう。

于 2013-04-03T13:24:40.797 に答える