Hej udviklere !
Jeg er stødt på et problem med PHP/MySQL kørt på en Apache2 server, på en Knoppix 7.7/Debian Linux installation på en USB memory stick, med Firefox browser.
Præcis samme script i en php-fil kørt under Apache serveren i XAMPP under Windows 10, fungerer helt fint, og giver ingen fejl.
Fejlen handler om undefined method. Jeg fik i sin tid hjælp her på siden af Ronny Olsen, til at lave scriptet til php-filen, som altså fungerer fint under Windows.
[code lang="PHP"][/<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xml:lang="da" lang="da">
<head>
<title>CD albums</title>
<style>
body {
background-image: url("http://www.bizdata.be/files/modules/blokken/101/CD_Collections.jpg");
}
<style type="text/css">
body {background:#A30000;
color:yellow;
h1 {color:yellow;}
h3 {color:yellow;}
</style>
</head>
</html>
<?php
/* bør ligge i externe filer start */
// slå debug info til
define('IN_DEBUG_MODE', true); // Sæt til false i production mode
if (IN_DEBUG_MODE) {
ini_set("display_startup_errors", "on");
ini_set("display_errors", "on");
ini_set("html_errors", "false");
error_reporting(-1); // -1 viser alle slags fejl beskeder
ini_set("ignore_repeated_errors", 0);
} else {
// Turn off all error reporting
error_reporting(0);
}
// opret database forbindelse
$conn = new mysqli("localhost", "root", "poe039", "cd_databasen_v3_0_browser");
if (!$conn) {
echo 'Der opstod en fejl.';
exit();
}
// mysqli_set_charset($conn, "utf8_danish_ci");
$conn->set_charset("utf8_danish_ci");
/* bør ligge i externe filer slut */
$search = $_GET['navn'];
$sql = "select k.Kunstner,c.Albumtitel,t.track_title as Nummertitel,t.track_number as Nr,
c.Release_Year,c.EAN_code
from Kunstnere as k inner join CD_Albumtitler as c
on k.kunstner_id = c.kunstner_id
inner join Track_lists as t
on t.titel_id = c.titel_id
where Albumtitel like '%" . $search . "%' order by Release_Year, Nr";
// echo $sql. "<br>"; // test ser sql ud som jeg forventer ??
$result = $conn->query($sql) or die($conn->error());
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
echo "<font color='white'>Kunstner: " . $row["Kunstner"] . " - Albumtitel: " . $row["Albumtitel"] . " - Nummertitel: " . $row["Nummertitel"] .
" - Nr: " . $row["Nr"] .
" - EAN kode: " . $row["EAN_code"] . " - Udgivelsesår: " . $row["Release_Year"] . "<br>" ;
}
} else {
echo "<font color='white'>Intet resultat fundet";
}
$conn->close();
?>
<html>
<br>
<form>
<input class="MyButton" type="button" value="Ny CD søgning" onclick="window.location.href='
http://localhost/Phpkursus/CD Databasen/cdindex/cdindex.htm'" />
</form>
<br>
<form>
<input class="MyButton" type="button" value="Retur til startside" onclick="window.location.href='
http://localhost/Phpkursus/index'" />
</form>
<br>
</html>]
Fejlkoden når det køres i Knoppix/Debian Linux er :
Fatal error:Call to undefined method mysqli::error() in /UNIONFS/ /sti til filen/check.php on line 63
Jeg ved ikke om det kan have noget med config af Apache2 serveren at gøre, men jeg håber nogen kan hjælpe mig.
På forhånd tak.
Indlæg senest redigeret d. 30.01.2017 23:02 af Bruger #21434