16. juli 2003 - 14:26
Der er
7 kommentarer og 2 løsninger
skifte mellem databaser i en løkke
Hvis man f.eks. har mysql_select_db("db1"); while($row = mysql_fetch_array($result)) { .. .. mysql_select_db("db2"); .. .. } Vil det virke? Kan man sådan skifte til en anden database og lave et statement, og vil løkken så fortsætte uændret? Jeg har p.t. ikke mulighed for et testsetup, så måske var der nogen af jer der havde prøvet det?
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Du behøver principielt ikke at skifte database, men jo, så'n der kan du godt gøre, men ellers kan man også definere i sin forespørgsel hvilken database du vil hente fra....
huh? det forstår jeg ikke helt.. jeg har f.eks.: $insertSQL = "DELETE FROM `user` WHERE `User` = '$navn' AND `Host` = 'localhost';"; mysql_query($insertSQL) or die(); Ovenstående skal køres mod "mysql" databasen (altså selve den database der indeholder brugerdata o.s.v.) Hvordan skal jeg køre det, uden at skifte database?
istedet for at definere hvilken database du vil bruge, så skriv: MYSQL_QUERY("DELETE FROM db1.user WHERE User='$navn' AND Host='localhost'") or Die(mysql_error());
Må nok hellere læse ordentligt efter næste gang..... Erstat db1 med mysql: MYSQL_QUERY("DELETE FROM mysql.user WHERE User='$navn' AND Host='localhost'") or Die(mysql_error());
Jeg forstår det simpelthen ikke.. jeg har forsøgt med både mit eget statement og dit forslag... Det virker *kun* når jeg selecter mysql databasen først. Men jeg prøver lige lidt mere i aften. Og jeg har mysql root adgang o.s.v.. :o?
Slettet bruger
17. juli 2003 - 00:27
#6
En anden løsning er at åbne 2 forbindelser, med hver sin database valgt: $connect1 = mysql_connect(...); $connect2 = mysql_connect(...); $db1 = mysql_select_db("db1", $connect1); $db2 = mysql_select_db("db2", $connect2); $result1 = mysql_query("...", $connect1); while($row = mysql_fetch_array($result1)) { ... $result2 = mysql_query("...", $connect2); ... }
opretter i svar.. så deler jeg point mellem jer.
Slettet bruger
17. juli 2003 - 16:57
#8
Ok.
Jeg testede lige dette for at se om jeg havde lavet en fejl, men jeg synes dette virker upåklageligt.... Men ellers er mercurs svar jo lige så godt... <?php mysql_connect("localhost", "root", "xxxxxxx"); $query1 = mysql_query("SELECT * FROM mysql.user where User='root'"); $query2 = mysql_query("SELECT * from storm.users where username='root'"); $result1 = mysql_result($query1, 0, "host"); $result2 = mysql_result($query2, 0, "email"); echo $result1.'<br>'; echo $result2; ?>
Vi tilbyder markedets bedste kurser inden for webudvikling