php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.06.2009, 23:15  
Benutzer
 
Registriert seit: 25.06.2009
Beiträge: 42
PHP-Kenntnisse:
Anfänger
marcoz befindet sich auf einem aufstrebenden Ast
Standard mysqli in mysql umändern

Hallo, bin immernoch dabei mir eine Bildergalerie mit kommentarfunktion zu erstellen.

Habe die Thumbnail Funktion nun fertig, bin gerade dabei für die Kommentarfunktion erst einmal ein Gästebuch zu programmieren und dieses dann irgendie abzuändern, weil die Kommentarfunktion ja ähnlich ist wie ein Gästebuch.

Nun mein Problem, und zwar habe ich das Tutorial auf quakenet für ein Gästebuch durchgearbeitet, habe alles in eine php Datei geschrieben und es hochgeladen und ausgeführt dabei kommt diese Fehlermeldung:

Fatal error: Class 'mysqli' not found in /usr/export/www/vhosts/funnetwork/hosting/mzweb/kommentarfunktion/dbConnect.php on line 5

ich weiß nicht was ich jetzt machen soll, habe schon gegoogelt aber leider nicht verstanden wie ich entweder mysqli aktiviere oder es umschreibe in mysql, leider weiß ich auch nicht was besser ist, mysqli oder mysql.

Hier der Code:
PHP-Code:
<?php
error_reporting
(E_ALL);
//ini_set('display_errors', 1);

$db = new mysqli('localhost''mzweb''mzirkenbach''mzweb');
if (
mysqli_connect_errno()) {
  
    die(
'Konnte keine Verbindung zur Datenbank aufbauen: '.mysqli_connect_error().'('.mysqli_connect_errno().')');
}

readfile('header.html'); // enthält auch das <body>-tag

if ('POST' == $_SERVER['REQUEST_METHOD']) {
    
// Code zum hinzufügen in der DB
} else {
    
$sql 'SELECT
                Datum,
                Autor,
                Inhalt
            FROM
                Guestbook
            ORDER BY
                Datum DESC'
;
    
$result $db->query($sql);
    if (!
$result) {
        die(
'Der Query konnte nicht ausgeführt werden: '.$db->error);
    }
    if (
$result->num_rows) {
        while (
$row $result->fetch_assoc()) {
            echo 
'<div class="beitrag">'."\n";
            echo 
'    <span class="autor">'.htmlspecialchars($row['Autor'])."</span>\n";
            echo 
'    <span class="datum">'.$row['Datum']."</span>\n";
            echo 
"    <p>\n";
            echo 
nl2br(htmlspecialchars(preg_replace('~\S{30}~''\0 '$row['Inhalt'])));
            echo 
"    </p>\n";
            echo 
"</div>\n";
        }
    } else {
        echo 
'<p class="info">Es sind keine Gästebucheinträge vorhanden</p>';
    } 
    
readfile('formular.html');
}
if (
'POST' == $_SERVER['REQUEST_METHOD']) {
    if (!isset(
$_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
        die (
'Benutzen sie nur Formulare von der Homepage.');
    }
    if ((
'' == $autor trim($_POST['Autor'])) or 
            (
'' == $inhalt trim($_POST['Inhalt'])) or
            (
'' == $antwort trim($_POST['Antwort']))) {
        die (
'Bitte füllen sie das Formular vollständig aus.');
    }
    if (
'' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
        
die ('Sie müssen die Frage richtig beantworten.');
    }
    
$sql 'INSERT INTO
                Guestbook(Autor, Datum, Inhalt)
            VALUES
                (?, NOW(), ?)'
;
    
$stmt $db->prepare($sql);
    if (!
$stmt) {
        die (
'Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
    }
    
$stmt->bind_param('ss'$autor$inhalt);
    if (!
$stmt->execute()) {
        die (
'Query konnte nicht ausgeführt werden: '.$stmt->error);
    }
    echo 
'<p class="info">Gästebucheintrag hinzugefügt. <a href="guestbook.php">Zurück zum Gästebuch</a>.</p>';
} else {
  echo 
"fehler";}

readfile('footer.html');
?>
Gruß marco

Geändert von marcoz (25.06.2009 um 23:32 Uhr). Grund: titelregeln nicht beachtet
marcoz ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.06.2009, 23:27  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Dein Thread-Titel ist schlecht bzw. unglücklich gewählt. Bitte ändere diesen und beachte dabei die Hinweise zur Wahl eines Threadtitels (Bitte aussagekräftige Threadtitel verwenden).

mysqli not found heißt, dass mysqli auf deinem Server nicht zu Verfügung steht, weil es nicht installiert oder nicht aktiviert ist. Das kann nur der Serveradmin ändern. Auf mysql schreibst du es um, indem du dir auf php.net mal die äquivalenten mysql_*-Funktionen ansiehst und benutzt.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 25.06.2009, 23:50  
Benutzer
 
Registriert seit: 25.06.2009
Beiträge: 42
PHP-Kenntnisse:
Anfänger
marcoz befindet sich auf einem aufstrebenden Ast
Standard

ok danke, habe den Titel geändert.

Jetzt habe ich das ganze ein wenig abgeändert, es kommt jedoch die Fehlermeldung:

Fatal error: Call to a member function query() on a non-object in /usr/export/www/vhosts/funnetwork/hosting/mzweb/kommentarfunktion/dbConnect.php on line 24

PHP-Code:
<?php
error_reporting
(E_ALL);
//ini_set('display_errors', 1);

$db mysql_connect('localhost''mzweb''mzirkenbach');
if (
mysql_errno()) {
  
    die(
'Konnte keine Verbindung zur Datenbank aufbauen: '.mysql_error().'('.mysql_errno().')');
}

readfile('header.html'); // enthält auch das <body>-tag

if ('POST' == $_SERVER['REQUEST_METHOD']) {
    
// Code zum hinzufügen in der DB
} else {
    
$sql 'SELECT
                Datum,
                Autor,
                Inhalt
            FROM
                Guestbook
            ORDER BY
                Datum DESC'
;
[
b]Zeile 24: [/b]   $result $db->query($sql);
    if (!
$result) {
        die(
'Der Query konnte nicht ausgeführt werden: '.$db->error);
    }
    if (
$result->num_rows) {
        while (
$row $result->fetch_assoc()) {
            echo 
'<div class="beitrag">'."\n";
            echo 
'    <span class="autor">'.htmlspecialchars($row['Autor'])."</span>\n";
            echo 
'    <span class="datum">'.$row['Datum']."</span>\n";
            echo 
"    <p>\n";
            echo 
nl2br(htmlspecialchars(preg_replace('~\S{30}~''\0 '$row['Inhalt'])));
            echo 
"    </p>\n";
            echo 
"</div>\n";
        }
    } else {
        echo 
'<p class="info">Es sind keine Gästebucheinträge vorhanden</p>';
    } 
    
readfile('formular.html');
}
if (
'POST' == $_SERVER['REQUEST_METHOD']) {
    if (!isset(
$_POST['Autor'], $_POST['Inhalt'], $_POST['Antwort'], $_POST['formaction'])) {
        die (
'Benutzen sie nur Formulare von der Homepage.');
    }
    if ((
'' == $autor trim($_POST['Autor'])) or 
            (
'' == $inhalt trim($_POST['Inhalt'])) or
            (
'' == $antwort trim($_POST['Antwort']))) {
        die (
'Bitte füllen sie das Formular vollständig aus.');
    }
    if (
'' != $antwort) { // entsprechend Anpassen, sowie den {FRAGE}-Teil im Formular
        
die ('Sie müssen die Frage richtig beantworten.');
    }
    
$sql 'INSERT INTO
                Guestbook(Autor, Datum, Inhalt)
            VALUES
                (?, NOW(), ?)'
;
    
$stmt $db->prepare($sql);
    if (!
$stmt) {
        die (
'Es konnte kein SQL-Query vorbereitet werden: '.$db->error);
    }
    
$stmt->bind_param('ss'$autor$inhalt);
    if (!
$stmt->execute()) {
        die (
'Query konnte nicht ausgeführt werden: '.$stmt->error);
    }
    echo 
'<p class="info">Gästebucheintrag hinzugefügt. <a href="guestbook.php">Zurück zum Gästebuch</a>.</p>';
} else {
  echo 
"fehler";}

readfile('footer.html');
?>
marcoz ist offline  
Alt 25.06.2009, 23:55  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

mysql_* ist prozedural, nicht objektorientiert. mysqli bietet beides. Du solltest dir deshalb das Manual durchlesen.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
Alt 26.06.2009, 00:00  
Neuer Benutzer
 
Registriert seit: 25.06.2009
Beiträge: 4
PHP-Kenntnisse:
Anfänger
CodeIgniter befindet sich auf einem aufstrebenden Ast
Standard

Du versuchst in deinem Script immer noch Prepared-Statements zu verwenden, die gibt es in der alten mysql Implementierung nicht..
CodeIgniter ist offline  
Alt 26.06.2009, 01:39  
Benutzer
 
Registriert seit: 25.06.2009
Beiträge: 42
PHP-Kenntnisse:
Anfänger
marcoz befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Manko10 Beitrag anzeigen
mysql_* ist prozedural, nicht objektorientiert. mysqli bietet beides. Du solltest dir deshalb das Manual durchlesen.
Habe jetzt Kilu als webspace der unterstützt mysqli jetzt funktioniert das Gästebuch

Gruß Marco

Geändert von marcoz (26.06.2009 um 02:44 Uhr). Grund: Neue Erkenntnisse
marcoz ist offline  
Alt 26.06.2009, 17:31  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Dann noch fix den Danke!
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQLi und Prepared Statements #Avedo Datenbanken 5 24.03.2010 17:39
Problem mit Basedir in PhP cmuch05 Datenbanken 9 08.01.2009 14:17
[Erledigt] Problem: PHP Selbe Datei mehr als 1 Mal soulan PHP Tipps 2008 13 28.11.2008 22:51
Problem Upload mehrere Dateien und schreiben in DB Lapje PHP Tipps 2008 1 22.10.2008 13:12
utf8 Problem (Daten aus DB auslesen) go1denboy PHP Tipps 2008 1 23.09.2008 12:19
Problem mit swfobjects R4v3r JavaScript, Ajax und mehr 8 21.09.2008 14:17
[Erledigt] MySQli Problem #Avedo PHP Tipps 2008 2 06.09.2008 23:49
[Erledigt] Problem mit MySQLi Login + Session Raito PHP Tipps 2008 7 29.07.2008 22:49
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
mysqli als Objekt CC84 PHP-Fortgeschrittene 31 11.05.2006 20:39
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mysqli mysql, mysql mysqli, mysql oder mysqli, mysqli oder mysql, http://www.php.de/php-einsteiger/56467-mysqli-mysql-umaendern.html, kilu mysqli, wie aktiviere ich mysqli, preg_replace in mysqli, mysql und mysqli, mysqli auf mysql umstellen, php mysql oder mysqli, mysql zu mysqli ändern, von mysql auf mysqli wechseln, mysqli vom webhoster nicht angeboten, wie heißt die funktion mysql-result in mysqli, mysqli in mysql ändern, php mysql mysqli, mysqli zu mysql ändern, \benutzen sie nur formulare von der homepage.\, php klasse für mysql und mysqli

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum