sql >> データベース >  >> RDS >> Mysql

PHPでの参照によるデータベース接続の受け渡し

    PHPリソースは、それ自体がすでに参照されている特殊なタイプです。値または参照によって明示的に渡すことは違いを生みません(つまり、それはまだ参照です)。これはPHP4で確認できます:

    function get_connection() {
      $test = mysql_connect('localhost', 'user', 'password');
      mysql_select_db('db');
      return $test;
    }
    
    $conn1 = get_connection();
    $conn2 = get_connection(); // "copied" resource under PHP4
    
    $query = "INSERT INTO test_table (id, field) VALUES ('', 'test')";
    mysql_query($query, $conn1);
    print mysql_insert_id($conn1)."<br />"; // prints 1
    
    mysql_query($query, $conn2);
    print mysql_insert_id($conn2)."<br />"; // prints 2
    
    print mysql_insert_id($conn1); // prints 2, would print 1 if this was not a reference
    


    1. 1行にデータを表示(複数行から)

    2. PDOとプリペアドステートメントを使用したMySQLアップデートが機能しない

    3. DISTINCTの選び方*

    4. ローカルホストからオンラインMySQLデータベースに接続します