Mysql
 sql >> Database >  >> RDS >> Mysql

Passaggio della connessione al database per riferimento in PHP

Una risorsa PHP è un tipo speciale che è già di per sé un riferimento. Passarlo per valore o esplicitamente per riferimento non farà la differenza (cioè, è ancora un riferimento). Puoi verificarlo tu stesso in 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