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

PHP Funktionen

Mitglied: tobmes

tobmes (Level 1) - Jetzt verbinden

19.06.2016 um 17:54 Uhr, 1016 Aufrufe, 3 Kommentare

Hi,

ich bin es mal wieder ;)

Ich habe jetzt glaube ich ein kleines Verständnisproblem mit Funktionen und Rückgabewerten

Ich hab diese beiden Funktionen:

01.
protected function getMinBest() {
02.
  //echo '<script type=text/javascript language=javascript> alert("Test") </script>';
03.
  $sql = $this->_database->query("SELECT minBestand FROM MinBestand WHERE id=1");
04.
  //$result = mysqli_query($this->_database,$showMinBest);
05.
  while ($showBestand = $sql->fetch_assoc()) {
06.
    echo "Der mindest Bestand ist: ";
07.
    echo "<p>" . $showBestand['minBestand']. "</p>";
08.
  }
09.
  //echo '<script type=text/javascript language=javascript> alert("Result=  '.$ergebnis.'") </script>';
10.
  return ($showBestand);
11.
}
und

01.
protected function showStock() {
02.
  $bestand = lager::getMinBest();
03.
  $sql=$this->_database->query("SELECT ArtikelNr,Lagerort,Artikel,Bestand FROM Artikel WHERE Bestand < '$bestand'");
04.
  echo "<table border='1'>";
05.
  echo "<th>Artikel</th><th>Lagerort</th><th>Bestand</th>";
06.
  while($ergebnis = $sql->fetch_assoc()) {
07.
    echo "<tr><td>" . htmlspecialchars($ergebnis["Artikel"]) . "</td>"
08.
    . "<td>" . htmlspecialchars($ergebnis["Lagerort"]) . "</td>"
09.
    . "<td>" . htmlspecialchars($ergebnis["Bestand"]) . "</td>"
10.
    . "</tr>";
11.
  }
12.
  echo "</table>";
13.
}
Jetzt möchte ich den in getMinBest() ermittelten Wert gerne in der showStock-Funktion weiter verarbeiten. Diese soll mir dann alle Waren mit einem Bestand kleiner als dem Mindestbestand ausgeben. Doch das klappt so leider nicht. Wenn ich in der SQL-Abfrage die Variable durch eine Zahl ersetzte, dann klappt alles.

Was mache ich denn da Falsch? Danke euch schon mal für die Aufklärung

Gruß
-TobMes
Mitglied: LordGurke
19.06.2016 um 18:45 Uhr
Wenn ich das richtig sehe, ist $showBestand was aus der getMinBest() zurückgegeben wird ein Array.
Verwendet wird es in showStock() aber wie eine reguläre Variable.
Du musst entweder in deiner SQL-Query $bestand['minBestand'] verwenden oder gleich dieses Array-Feld aus getMinBest() zurückliefern.

Bei der Gelegenheit sei der Hinweis auf http://php.net/manual/de/security.database.sql-injection.php noch gestattet - ist in deinen beiden Methoden offenbar ein eher überschaubares Risiko - aber mir kräuseln sich immer die Fußnägel wenn ich Variablen in SQL-Queries sehe ;)
Bitte warten ..
Mitglied: tobmes
19.06.2016 um 19:13 Uhr
Hi,

danke für die Hinweise. Werde ich mir auf jeden Fall mal anschauen.
Bitte warten ..
Mitglied: Sheogorath
19.06.2016 um 22:15 Uhr
Moin,

das Problem ist, du gibst bei deiner Funktion `getMinBest()` false zurück.

Die Funktion `fetch_assoc()` gibt dir immer die nächste Zeile zurück, bis alles gelesen ist, dann wir False zurück gegeben. (So die Dokumentation)

Deshalb bricht auch dein Schleife ab. Somit hat `$showBestand` auch im Rückgabewert false und du bekommst keine zufriedenstellende Antwort.

Deine Variable `$bestand` ist also auch false.

Ganz davon abgesehen ist `fetch_assoc()` schon "seit PHP 5.5.0 als veraltet markiert und wird in der Zukunft entfernt werden.". In Zeiten von PHP 7.0 also nicht wirklich zukunftsfähig ;)

Gruß
Chris
Bitte warten ..
Ähnliche Inhalte
PHP
PHP Mail Funktion
Frage von gamerffPHP5 Kommentare

Hallo Forum, ich versuche grade mit der PHP mail() Funktion ein Kontaktformular zu erstellen. Leider kommt beim absenden immer ...

PHP

PHP - Funktion zur Ermittlung von wahren lösungen

Frage von horscht.baPHP2 Kommentare

Hallo zusammen, ich frage mich, ob es eine funktion in PHP, die mir aus verschieden abhängigen variablen eine Lösung ...

PHP

Feiertage ermitteln mit PHP-Funktion - brauche dringend Hilfe

gelöst Frage von Erix83PHP16 Kommentare

Hallo, ich habe vor einigen Jahren eine mit PHP realisierte Anwesenheitsliste von meinem Vorgänger übernommen. Mir ist nun aufgefallen, ...

PHP

MySQL Select in Kombination mit einer PHP-Funktion

Frage von icegetPHP2 Kommentare

Hallo liebe Community, ich habe folgendes Problem: Ich habe eine PHP-Funktion. Diese nennt sich getWeekFromID. Diese gibt anhand einer ...

Neue Wissensbeiträge
Windows 10
Die tickende DSGVO-Zeitbombe von Microsoft
Information von Frank vor 13 StundenWindows 101 Kommentar

Hier ein guter Beitrag von Golem.de zum Thema DSGVO und das Windows 10 aktuell nicht DSGVO konform ist! Das ...

Microsoft Office

Gebrandete OEM-Version von Office 2003 auf Nachfolgerechner installieren

Tipp von Lochkartenstanzer vor 15 StundenMicrosoft Office

Hallo Kollegen, gerade mal wieder ein Kundensystem mit Widows 10 in den Fingern gehabt, bei dem der Besitzer sein ...

Windows Server

Ein Feature, welches einem das Arbeiten mit Windows-2019-Coreservern erleichtern kann

Information von DerWoWusste vor 16 StundenWindows Server2 Kommentare

Man kann mittels Kommando nun folgendes auf Server 2019 in der Coreversion v1809 freischalten, so dass man es lokal ...

Windows 10
MS möchte offenbar lokale Konten abschaffen
Information von UweGri vor 1 TagWindows 1011 Kommentare

Guten Tag Admins, ab und an lese ich bei Dr.-Windows Bei dieser Meldung dachte ich, wird MS jetzt offen ...

Heiß diskutierte Inhalte
Erkennung und -Abwehr
MS-Hotline-Telefonterror
Frage von HenereErkennung und -Abwehr22 Kommentare

Servus zusammen, seit ca 3 Wochen haben wir immer wieder Anrufe von unbekannten Nummern, teils aus dem Ausland. Nach ...

Batch & Shell
Active Directory Picker - Get-ADGroup kann nicht in den Typ konvertiert werden
Frage von dispatcherBatch & Shell17 Kommentare

Mahlzeit zusammen, Im folgenden Skript erhalte ich immer die Meldung: Get-ADGroup : "System.Object " kann nicht in den Typ "Microsoft.ActiveDirectory.Management.ADGroup" ...

Batch & Shell
Last Logon Datum per Powershell abrufen
gelöst Frage von DerWoWussteBatch & Shell12 Kommentare

Moin Kollegen. Wer ist vor 10 schon so fit, mir Folgendes zu erklären: Das zum Titel passende Skript ist ...

Windows 10
Windows 10 mit kaputtem .Net 4.8
Frage von krischeuWindows 1012 Kommentare

Hi, ich habe mit dem Programm ADDISON ein Stabilitätsproblem. Es stürzt regelmäßig während des Arbeitens ab. In der Ereignisanzeige ...