Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst MySQL in PHP mit Variablen

Mitglied: carl7n

carl7n (Level 1) - Jetzt verbinden

29.07.2015, aktualisiert 14:06 Uhr, 827 Aufrufe, 10 Kommentare

Hallo,

ich habe PHP-Grundkenntnisse, schaffe es aber nicht, nach meinen Vorstellungen ein paar kleine PHP-Scripts zusammen arbeiten zu lassen. Vielleicht kann mir hier ja jemand weiterhelfen

connect.php
<?php
$wo = "localhost";
$wer = "benutzer";
$wie = "passwort";
$db = "datenbank";
$conn = mysql_connect ($host, $user, $pw)
or die ("Zugangsdaten stimmen nicht.");
mysql_select_db($db)
or die ("Die Datenbank wurde nicht gefunden.")
?>

functions.php
<?php
function gibAus()
{
$abfrage = "SELECT id FROM lies";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
echo "$row->id";
echo "<br />";
}
?>

test.php
<?php
include("connect.php");
include("functions.php");
gibAus ();
?>

connect.php funktioniert soweit; wenn ich die Datei konfiguriert aufrufe, zeigt sie (erwartungsgemäß) gar nichts an. Gebe ich falsche Werte als Variablen an, kommen die entsprechenden Fehlermeldungen.

functions.php möchte ich noch anpassen, und zwar so, dass die Funktion jeweils den später definierten Wert weitergibt... Müsste ungefähr so aussehen:
functions2.php
<?php
function gibAus($wert)
{
$abfrage = "SELECT $wert FROM lies";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
echo "$row->$wert";
echo "<br />";
}
?>
Das funktioniert allerdings nicht. Rufe ich z.B.
gibAus("id") auf, sollte entsprechend "SELECT id FROM lies" und "echo "$row-id";" passieren, was aber nicht der Fall ist.

test.php gibt aktuell gar nichts aus. Wahrscheinlich ist das irgend ein blöder Anfängerfehler, aber ich finde ihn einfach nicht.

Könnt Ihr mir sagen, was ich am Code ändern muss, damit es funktioniert? Oder einen Tipp geben, wo der Fehler liegt?

Danke & beste Grüße
Mitglied: Tjelvar
29.07.2015, aktualisiert um 14:07 Uhr
setz das include von der connect mal in die jeweiligen phpdateien wo aauf die datenbank zugegriffen wird
Bitte warten ..
Mitglied: carl7n
29.07.2015, aktualisiert um 14:08 Uhr
Ahh, so geht es Riesigen Dank!!

(Falls jemand das Script auch benutzen möchte: ich habe in der functions.php die letzte Geschweifte-Klammer-Zu vergessen; wenn man in der Datei wie von @Tjelvar gesagt die verbinden.php einbindet und die Klammer ergänzt, läuft es )

EDIT: die Funktion funktioniert nun zwar. Allerdings nur als gibAus(). Wenn ich gibAus("id") o.Ä. aufrufen will, passiert nichts.
Bitte warten ..
Mitglied: Tjelvar
29.07.2015 um 14:19 Uhr
functions.php
>
> <?php
> function gibAus()
> {
> $abfrage = "SELECT id FROM lies";
> $ergebnis = mysql_query($abfrage);
>
> while ($row = mysql_fetch_object($ergebnis))
> {
> echo "$row->id";
> echo "<br />";
> }
> ?>

<?php
function foo ($arg_1, $arg_2, ..., $arg_n)
{
echo "Beispielfunktion.\n";
return $retval;
}
?>

Das ist das Beispiel für eine Funktion, um eine Variable in eine Funktion mitzugeben musst du natürlich auch der funktion sagen dass sie eine Variable erwarten soll
Bitte warten ..
Mitglied: carl7n
29.07.2015 um 14:30 Uhr
Zitat von Tjelvar:
<?php
function foo ($arg_1, $arg_2, ..., $arg_n)
{
echo "Beispielfunktion.\n";
return $retval;
}
?>

Das funktioniert irgendwie nicht mit der MySQL Abfrage. Folgendes läuft problemlos:
<?php
function test($wert)
{
echo "Eingabe war $wert";
}
?>

Wenn ich das aber 1:1 an meine functions.php anpasse, werden keine Daten ausgegeben:
<?php
include("connect.php");
function gibAus($arg_1)
{
$abfrage = "SELECT $arg_1 FROM lies";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
echo "$row->$arg_1";
echo "<br />";
}
}
gibAus("id");
?>

Ich habe auch dieses Schema ausprobiert, allerdings ebenfalls ohne Erfolg:
$abfrage = "SELECT ".$arg_1." FROM lies";
Bitte warten ..
Mitglied: Tjelvar
LÖSUNG 29.07.2015, aktualisiert um 14:56 Uhr
Setz mal im Header "error_reporting(E_ALL);" um dir jeden Fehler ausgeben zu lassen, dann siehst du eventuell wo dein Problem ist
Bitte warten ..
Mitglied: carl7n
29.07.2015 um 14:47 Uhr
Danke für den Tipp. Ich bekomme keine Fehlermeldungen, egal, in welches Script ich den Code im Header einbaue.

Ich teste die Scripts unter OS X mithilfe von MAMP; vielleicht liegt der Fehler hier (wobei ich nirgends eine Einstellung finden konnte, in der man Error Reporting an- oder abschalten kann).

error_reporting(-1); funktioniert im Übrigen ebenfalls nicht :/
Bitte warten ..
Mitglied: Tjelvar
29.07.2015 um 14:50 Uhr
http://www.phpknowhow.com/configuration/php-ini-error-settings/

schau mal in der PHP.ini vllt hilft dir das. Aber ansonsten merkwürdig.
Bitte warten ..
Mitglied: carl7n
29.07.2015 um 14:52 Uhr
Update:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>

Nun bekomme ich Fehlermeldungen.

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /Users/zll/dev/web/php projekt/connect.php on line 9

Line 9 ist:
function gibAus($arg_1)

Die Testdatei zeigt zwar den obigen Fehler an, gibt aber trotzdem nun die korrekten Werte aus.
Bitte warten ..
Mitglied: Tjelvar
LÖSUNG 29.07.2015, aktualisiert um 15:00 Uhr
Die Fehlermeldung sagt nur, dass mysql_connect() veraltet ist und bald aus PHP entfernt wird
Bitte warten ..
Mitglied: carl7n
29.07.2015 um 15:01 Uhr
Das habe ich soweit verstanden. mysqli scheint der neue Befehl zu sein, ich suche mir die Infos zusammen. Jetzt kann es aber zumindest mal weitergehen mit meinem Projekt Vielen Dank für Deine Hilfe!
Bitte warten ..
Ähnliche Inhalte
PHP
PHP MySQL Login
Frage von YanmaiPHP7 Kommentare

Hallo ihr Administratoren, ich habe eine Datenbank, in der alle User des Netzwerkes enthalten sind. Wenn ein User sich ...

Webentwicklung
Php mysql abfrage
gelöst Frage von Christian181005Webentwicklung4 Kommentare

Kann mir jemand Helfen? Ich mächte diese Daten von meiner Datenbank ausgeben lassen aber es wird nichts angezeigt.

PHP
Benutzerregistrierung php, mysql
Frage von zelamediaPHP5 Kommentare

Hallo, kennt jemand ein gutes Tutorial/Anleitung wie ich mit php/mysql eine einfache Benutzer-Registrierung umsetzte mit Benutzerrollen also Administrator/Mitarbeiter usw. ...

PHP
PHP - MySQL-Ausgabe editieren
gelöst Frage von ThoomaasPHP19 Kommentare

Hallo alle zusammen! Ich bin gerade dabei ein Portal für meine Firma zu basteln. Hierbei sollen die User Protokolle ...

Neue Wissensbeiträge
LAN, WAN, Wireless
Sophos RED50 stürzt ab und ist danach tot
Information von Ex0r2k16 vor 2 TagenLAN, WAN, Wireless

Hey, nach meinem Thread bin ich durch Zufall auf das hier gestoßen: Also wenn ihr UTMs und RED50's im ...

Windows 10

Microsoft macht Bluetooth absichtlich kaputt: Windows 10 Update blockiert Bluetooth-Verbindungen zu Android

Tipp von 1Werner1 vor 2 TagenWindows 107 Kommentare

Moin, jetzt spinnt MS total , was muss ich da auf Chip.de lesen: Auch im Juni schließt Microsoft im ...

Soziale Netzwerke

Facebook - künftig ohne Account des Bundeslandes Sachsen-Anhalt

Information von VGem-e vor 3 TagenSoziale Netzwerke3 Kommentare

Servus, mal sehen, ob andere öffentliche Einrichtungen folgen wollen/können Gruß

Humor (lol)
Facebook Mailer auf NIX-Spamlist
Information von Henere vor 3 TagenHumor (lol)

Eben aus dem Log meines Postfix gefischt. Recht haben Sie. FB ist SPAM :-) lachende Grüße, Henere

Heiß diskutierte Inhalte
Router & Routing
Synology NAS in anderem Subnetz nicht erreichbar
Frage von Tech1KonniRouter & Routing24 Kommentare

Hallo Leute, ich bin Software-Entwickler und daher auch etwas bewandert in den Grundkenntnissen der Netzwerktechnik. Aktuell habe ich allerdings ...

Netzwerke
Zugriff auf mehrere Clients via RDP
Frage von xXMariusXxNetzwerke9 Kommentare

Moin, ich würde gerne auf mehrere Clients in einem Netzwerk via RDP zugreifen. Gibt es eine elegantere Lösung als ...

Windows Server
Probleme Installation Windows Server 2019
Frage von AK-47.2Windows Server7 Kommentare

Hallo zusammen, ich habe das Problem einen Windows Server 2019 auf ein Testsystem zu bringen. Das Mainboard ist ein ...

DNS
Cisco SG300 - DNS Probleme bei DHCP im VLAN
Frage von kern32DNS6 Kommentare

Hallo zusammen, ich habe mir den SG300 zu gelegt, um daheim die Netze trennen zu können. Insbesondere Heizung sollte ...