Avatar billede nemlig Professor
13. april 2018 - 14:19 Der er 7 kommentarer

MySQl til MySQLi

Hejsa.
Jeg har et gammelt program, som jeg i første omgang skal have til at køre med PHP 7.0 og i næste omgang skal jeg omskrive til PDO.

Jeg søger i første omgang en hurtig løsning, hvis det overhovedet er muligt.
Er det enkelt at omskrive nedenstående function til MySQLi. Jeg har prøvet at tilføje "i" til alle MySQL-kommandoerne, men det fungerer ikke:
function database($sql){
  $conn = mysql_connect($config[db_serv],$config[db_user],$config[db_pass]);
  if (!$conn) {
  die('Could not connect: ' . mysql_error());
  }
  mysql_set_charset('latin1');
  $res = mysql_db_query($config[db_base],$sql);
  mysql_close($conn);
  if (!$res) {
    die("<b>Databasefejl:<br></b>" . mysql_error($conn) ."<b><br>MySQL-sætningen var:<br></b>". $sql);
  }
  return $res;
}
Avatar billede Slater Ekspert
13. april 2018 - 14:23 #1
Umiddelbart tror jeg bare det er fordi funktionen mysql_db_query ikke findes i MySQLi. Den er en sammentrækning af to funktioner, som bare skal køres hver for sig i stedet.

Først mysqli_select_db("databasenavn");
og så mysqli_query("sql query");

Men der kan være andet, jeg ikke lige lægger mærke til. Hvilken fejl får du?
Avatar billede michael_stim Ekspert
13. april 2018 - 15:02 #2
mysqli_connect skal have databasenavn som 4. parameter.
Avatar billede nemlig Professor
13. april 2018 - 15:16 #3
Tak for input.
Jeg kan nu connecte til DB.
Det har jeg løst sådan her:
function database($sql){
  $config = ini();
  $conn = mysqli_connect($config[db_serv],$config[db_user],$config[db_pass]);
  if (!$conn) {
  die('Could not connect: ' . mysqli_connect_error());
  }
  mysqli_set_charset('latin1');
  mysqli_select_db($conn,$config[db_base]);
  $res = mysqli_query($conn,$sql);
  mysqli_close($conn);
  if (!$res) {
    die("<b>Databasefejl:<br></b>" . mysqli_error($conn) ."<b><br>MySQL-sætningen var:<br></b>". $sql);
  }
  return $res;
}


Det lader dog ikke til at mine forespørgsler henter data - jeg bøvler videre.....
Avatar billede michael_stim Ekspert
13. april 2018 - 15:21 #4
Hvor er din $sql?

Slå fejlmeddelelser til mens du udvikler.
Avatar billede nemlig Professor
13. april 2018 - 15:36 #5
Fejl 40 - sorry. Det spiller nu.
Tak for jeres input og god weekend.
Avatar billede showsource Seniormester
13. april 2018 - 19:03 #6
Og der er forskel på mysqli og PDO, anyway
Avatar billede Slater Ekspert
13. april 2018 - 19:31 #7
#6: Hvilket netop er hvad opretter siger.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester