Don Stefano
Erfahrenes Mitglied
Hallo zusammen,
die Probleme beim Versuch mein PHP-Projekt auf den Servern vonhttp://all-inkl.com/ zum Laufen zu bringen, sind offensichtlich (bis auf eines) dadurch gelöst, dass ich nun auf einen Server mit PHP 5 und MySql 4.1 umgezogen bin.
Vielen Dank für eure Hilfe!
Trotzdem bleibt folgendes Problem (was ich auch erwartet habe). Ich verwende nämlich die in PHP 5 neu hinzugekommene mysqli Erweiterung um mit der Datenbank zu kommunzieren.
Also erhielt ich folgende Fehlermeldung:
Hier der kurze Code der zugehörigen Datei:
Ich dachte mir, es wird wohl daran liegen, dass diese Erweiterung in der php.ini bei meinem Hoster nicht aktiviert ist (oder wo immer das zu tun ist). Also habe ich meine Skripte "heruntergegradet" und die alte mysql-Erweiterung verwendet.
Dies habe ich einfach so gemacht, dass ich bei allen Befehlen (z.B: "mysqli_num_rows" oder "mysqli_errno") das "i" weggelassen habe. (Also z.B. "mysql_num_rows").
Im obigen Code habe ich also nur "extends mysql" eingetragen. Die Klasse heißt weiterhin "xmysqli" (was ja egal sein müsste).
Meines Wissens nach ist dies der einzige Unterschied beim verwenden der beiden Erweiterungen. Stimmt dies so?
Jedenfalls war ich dann doch sehr überrascht, als nachdem Ändern folgende Fehlermeldung erschien:
Daraus ergeben sich für mich 2 Fragen:
1. Liegt der Fehler daran, dass in dem obigen Skript (den Code könnt ihr ja sehen) nun ein Fehler ist, so dass es mit mysql nicht läuft, vorher aber mit mysqli lief (auf meinen XAMP System)?
2. oder sind schlichtweg seitens meines Hosters beide Erweiterungen nicht aktiviert?
Was ist also zu tun, damit diese Fehlermedlungen ausbleiben und ich wieder meine Datenbank erreiche? Oder gibt es gar noch eine zusätzliche Erweiterung, die ich verwenden muss?
Herzlichen Dank für jede HIlfe
die Probleme beim Versuch mein PHP-Projekt auf den Servern vonhttp://all-inkl.com/ zum Laufen zu bringen, sind offensichtlich (bis auf eines) dadurch gelöst, dass ich nun auf einen Server mit PHP 5 und MySql 4.1 umgezogen bin.
Vielen Dank für eure Hilfe!
Trotzdem bleibt folgendes Problem (was ich auch erwartet habe). Ich verwende nämlich die in PHP 5 neu hinzugekommene mysqli Erweiterung um mit der Datenbank zu kommunzieren.
Also erhielt ich folgende Fehlermeldung:
Code:
Fatal error: Class 'mysqli' not found in /www/htdocs/w0055c8a/xmysqli.php on line 3
Hier der kurze Code der zugehörigen Datei:
PHP:
<?php
class xmysqli extends mysqli {
const host = "localhost";
const user = "MeinUsername";
const passwd = "MeinPasswort";
const mydb = "NameDerDatenbank";
function __construct()
{
parent::__construct(self::host, self::user, self::passwd, self::mydb);
}
function echoquery($query)
{
echo "<p>$query</p>";
$result = $this->query($query);
if ($this->errno)
{
echo($this->error);
return NULL;
}
echo '<table border cellpadding="5"><tr>';
echo '<th>[Nr]</th>';
while ($field = $result->fetch_field())
echo "<th>$field->name</th>";
echo "</tr>";
$rec = 0;
while ($row = $result->fetch_row())
{
echo "<tr><td>$rec</td>"; $rec++;
for ($i = 0; $i < $result->field_count; $i++)
echo "<td>".htmlentities($row[$i])." </td>";
echo "</tr>\n";
}
echo "</table>";
$result->close();
return TRUE;
}
}
?>
Ich dachte mir, es wird wohl daran liegen, dass diese Erweiterung in der php.ini bei meinem Hoster nicht aktiviert ist (oder wo immer das zu tun ist). Also habe ich meine Skripte "heruntergegradet" und die alte mysql-Erweiterung verwendet.
Dies habe ich einfach so gemacht, dass ich bei allen Befehlen (z.B: "mysqli_num_rows" oder "mysqli_errno") das "i" weggelassen habe. (Also z.B. "mysql_num_rows").
Im obigen Code habe ich also nur "extends mysql" eingetragen. Die Klasse heißt weiterhin "xmysqli" (was ja egal sein müsste).
Meines Wissens nach ist dies der einzige Unterschied beim verwenden der beiden Erweiterungen. Stimmt dies so?
Jedenfalls war ich dann doch sehr überrascht, als nachdem Ändern folgende Fehlermeldung erschien:
Code:
Fatal error: Class 'mysql' not found in /www/htdocs/w0055c8a/xmysqli.php on line 3
Daraus ergeben sich für mich 2 Fragen:
1. Liegt der Fehler daran, dass in dem obigen Skript (den Code könnt ihr ja sehen) nun ein Fehler ist, so dass es mit mysql nicht läuft, vorher aber mit mysqli lief (auf meinen XAMP System)?
2. oder sind schlichtweg seitens meines Hosters beide Erweiterungen nicht aktiviert?
Was ist also zu tun, damit diese Fehlermedlungen ausbleiben und ich wieder meine Datenbank erreiche? Oder gibt es gar noch eine zusätzliche Erweiterung, die ich verwenden muss?
Herzlichen Dank für jede HIlfe