Alle de database extensions jeg kender til PHP (inkl. mysql og mysqli) kan operere med en connection variabel og der er ikke noget problem i at have to connections i samme script.
Hvordan vil du gøre dette ?
Jeg forsøger således :
Først
require_once "system/udtrak.php";
udtrak php :
$conn = mysql_connect("localhost","****","*****");
$db = mysql_select_db("***",$conn);
mysql_set_charset("utf-8");
function sel($hvad, $tabel, $hvilket) {
$find_res ="1";
$find = "select " .$hvad ." from " .$tabel ." where " .$hvilket;
$find_res = mysql_query($find) or die(mysql_error());
return $find_res;
}
function hent();
--> HER ALLE call sker
Den connection som er, er en anden database.
Alligevel tror koden at databasen hedder database1 trods den øverste ændring :(
mysql_query($find)
angiver ikke nogen connection
måske mysql_query($find, $conn)?
Hej Begge.
Jeg forstår ikke helt.
I udtrak.php :
function hent() {
....
$find = sel($hvad, $tabel, $hvilket);
if (mysql_num_rows($find) == 1){
$row = mysql_fetch_array($find);
Den burde da forstå at det er den database i udtrak.php ?
Jeg har også prøvet nedenstående :
if (mysql_num_rows($find, $conn) == 1){
$row = mysql_fetch_array($find, $conn);
Men som jeg kan se indeholder conn kun adgang til mysql og ikke selve databasen som ligger i $db.
$conn = mysql_connect("localhost","****","*****");
$db = mysql_select_db("***",$conn);
Hvis du skal tilgaa to databaser, saa skal du bruge to connections og groft sagt skal samtlige mysql kald have en connection med som argument.
Har du mulighed for at uddybe med noget kode ? For er ikke helt med :)
Hvis databasen ligger på samme mysql server/instans, så er det jo bare at bruge mysql_select_db("database2");
f.eks., hvis de 2 databaser hedder db_et og db_to:
<?php
require_once "system/udtrak.php";
// [Her laver du de første kald til db_et]
mysql_select_db("db_to",$conn);
// [Her kalder du så den funktion det skal lave udtræk fra db_to]
mysql_select_db("db_et",$conn)