Oprettet ons. d. 10. august 2011 kl. 00:36:15

apromis
apromis (7.345 point. Point ude: 1.000)

Anden database - kun i 1 function

Hej allesammen.

Jeg har en skide god kode som bare virker.
Problemet er at jeg gerne vil tilføje en function i denne kode mit i det hele. Denne function bruger en anden database.

Derfor vil det så således ud.

Database 1 connect 1 laves
De normale funktioner calles på database 1
MIN NYE funktion på database 2 calles og udføres
de normale funktioner forsætter på database 1.

Kan jeg ikke gøre noget smart i min funktion, således jeg ikke skifter database, og dermed ikke konflikter med de andre funktioner ?

Kan nogen løse denne ?

På forhånd tak.

Skrevet ons. d. 10. august 2011 kl. 00:39:09| #1

arne_v
arne_v (1.016.169 point)
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.

Skrevet ons. d. 10. august 2011 kl. 00:43:57| #2

apromis
apromis (7.345 point)
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 :(

Skrevet ons. d. 10. august 2011 kl. 01:55:36| #3

arne_v
arne_v (1.016.169 point)
mysql_query($find)

angiver ikke nogen connection

Skrevet ons. d. 10. august 2011 kl. 09:14:52| #4

zynzz
zynzz (17.924 point)
måske mysql_query($find, $conn)?

Skrevet ons. d. 10. august 2011 kl. 10:25:03| #5

apromis
apromis (7.345 point)
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 ?

Skrevet ons. d. 10. august 2011 kl. 10:35:54| #6

apromis
apromis (7.345 point)
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);

Skrevet ons. d. 10. august 2011 kl. 14:59:32| #7

arne_v
arne_v (1.016.169 point)
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.

Skrevet ons. d. 10. august 2011 kl. 16:55:49| #8

apromis
apromis (7.345 point)
Har du mulighed for at uddybe med noget kode ? For er ikke helt med :)

Skrevet fre. d. 12. august 2011 kl. 01:19:14| #9

MSI-AOC
MSI-AOC (3.375 point)
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)

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Brugerliste med link til profil

Oprettet den 26. maj 2012 kl. 14.29
sayn giver 30 point for svar | Giv et svar »

php curl driller

Oprettet den 26. maj 2012 kl. 08.31
PHPnQrd giver 200 point for svar | Giv et svar »

Array i array

Oprettet den 25. maj 2012 kl. 08.32
sebster giver 60 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger