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

Mysql Warning trotz erfolgreicher Ausführung

Mitglied: marta.e

marta.e (Level 1) - Jetzt verbinden

21.11.2013, aktualisiert 06.05.2019, 1915 Aufrufe, 13 Kommentare

Hallo,

ich arbeite gerade an einer kleinen Seite, bei der man das Menü bestellen und auch löschen kann. Dazu kann man einfach einen Haken in eine Checkbox (name cb[]) machen und auf löschen klicken; das Löschen erledigt der untenstehende Code. er funktioniert auch einwandfrei, nur gibt er diese Warnmeldungnach jedem gelöschten Eintrag aus:

"Bestellung vom 2013-11-27 gelöscht!
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\kantine\uebersicht.php on line 39"

(line 39 ist: while($zeile=mysql_fetch_array($erg)){ )



Ich habe mittlerweile stundenlang herumprobiert, ich bekomm die Warnung nicht weg, was mich mittlerweile etwas verzweifeln lässt (vor allem da quasi der idente Code (also nur das SQL, ohne die ganzen IFs) woanders problemlos tut)....
Mitglied: Dani
21.11.2013 um 15:51 Uhr
Moin,
was möchtest du mit Zeile 4 und 6 bewirken?
Meine PHP-Kenntnisse sind nicht mehr frisch, aber seit wann kann eine POST-Variable ein Array sein?


Grüße,
Dani
Bitte warten ..
Mitglied: marta.e
21.11.2013 um 15:54 Uhr
Zeile 4: wenn eine Variable nicht gesetzt ist, aber irgendwo steht, kommt ebenfalls eine Warnung, durch ein setzten auf "" umgehst du das.

Zeile 6: seit wann weiss ich nicht, gehen tuts aber ;) im Prinzip ists halt einfach ein Array im (POST-)Array.
Bitte warten ..
Mitglied: Dani
21.11.2013 um 15:58 Uhr
Zeile 6 wird immer zutreffen und darum läuft dein Script in den Fehler.
Bitte warten ..
Mitglied: marta.e
21.11.2013 um 16:16 Uhr
Zeile 6 wird doch genau 1x aufgerufen, die (foreach- bzw. while)Schleife ist ja IN dem IF, nicht ausserhalb? Und wenn sie eben nicht zutrifft, hat man nichts angehakt (= zum löschen ausgewählt)
Bitte warten ..
Mitglied: Dani
21.11.2013 um 16:40 Uhr
Genau, aber die IF-Anweisung trifft meiner Ansicht immer zu.

Grüße,
Dani
Bitte warten ..
Mitglied: bytecounter
21.11.2013 um 18:58 Uhr
Hallo,

irgendwie versteh ich Deine Verarbeitung nicht...

Wenn $_POST['cb'] gesetzt ist, soll/muss/kann/darf es ein Array sein...dann definier das erst einmal so:

Mit diesem Code ersetzt Du zeile 4..damit sparst Du Dir Zeile 6..denn ab jetzt ist $cb immer ein Array, ggf. eben ein leeres. Wenn Du das dann der foreach übergibst, dann durchläuft die jeden einzelnen Eintrag - ist das Array leer, führt er den Foreach-Block eben nicht aus.
Jetzt kommt es darauf an, wie Deine ID ausschaut. Ich geht jetzt mal davon aus, dass es ein INT-Wert ist:
Damit ist sichergestellt, dass Du mySQL einen INT-Wert übergibst.
Des Weiteren suchst Du mit Deiner ID genau einen Wert; Das kannst Du mit einem LIMIT machen und bekommst dann auch nur genau einen Datensatz zurück - das spart Dir die ganzen whle()-Schleifen..

So, dann packst Du das zusammen in die DELETE:
DELETE gibt Dir die Anzahl gelöschter Einträge zurück. Wurde kein Eintrag gelöscht, kann das nur an einer falschen ID oder daran liegen, dass das Datum nicht mehr passt. Du musst allerdings das Datum dann auch MySQL-konform übergeben.

vg
Bytecounter
Bitte warten ..
Mitglied: marta.e
22.11.2013, aktualisiert um 10:28 Uhr
Könntest du mir deine erste Zeile genauer erklären? Also die Syntax, den Sinn hast du ja bereits erklärt.

Die ID ist der Primary Key der Hilfstabelle user_menu, also immer ein INT-Wert.

Statt:
also so:
-> klappt noch nicht ganz, $datum ist leer :/

Was spare ich mir durch dein DELETE? Ich muss ja trotzdem 4 Fälle beachten:
1)Datum ist heute, aber nach 8:45,
2)Datum heute und vor 8:45,
3)Datum in der Vergangenheit
4)Datum in der Zukunft

Meines (zugegebenermassen nicht enormen) Wissen über PHP und SQL ist aber eine SQL Abfrage deutlich langsamer als die Überprüfung eines IF, weshalb die jetztige Abfrage doch perfomanter sein sollte? Evtl. habe ich aber auch nicht ganz verstanden, wie du das lösen würdest
Danke jedenfalls schonmal.
Bitte warten ..
Mitglied: bytecounter
22.11.2013 um 15:39 Uhr
Die Sache mit der Performance kann man glaube ich in dem Fall vergessen..oder wieviel Anfragen kommen da pro Sekunde?

Zu dem Datumsprpoblem:
NOW() gibt Dir das aktuelle Datum mit Uhrzeit zurück; und mit DATE_ADD fügst Du dem in Deiner Tabelle hinterlegten Datum die 08:45 zu. Es muss also vor 08:45 sein, ansonsten wir das Menu nicht gelöscht.

vg
Bytecounter
Bitte warten ..
Mitglied: marta.e
23.11.2013 um 22:08 Uhr
Ok, mein ursprüngliches Problem besteht jedoch weiterhin: mit while kommt die Warnung, ohne while, dafür mit LIMIT und mysql_fetch_object funktionierts nicht ($datum ist dann leer).
Bitte warten ..
Mitglied: bytecounter
25.11.2013 um 15:42 Uhr
Wie schaut denn der Code jetzt aus?

Eine angenehme Woche
Bytecounter
Bitte warten ..
Mitglied: marta.e
28.11.2013 um 16:09 Uhr
Hi, sorry für die späte Antwort...


Zeile 13 ist eben das Problem:
"Catchable fatal error: Object of class stdClass could not be converted to string"
Bitte warten ..
Mitglied: Dani
28.11.2013 um 22:43 Uhr
Was gibt denn "print_r($_POST); aus?


Grüße,
Dani
Bitte warten ..
Mitglied: bytecounter
29.11.2013 um 06:46 Uhr
Hallo,

spontan fallen mir Zeile 4 und 6 in Deinem Code auf:

In Zeile 6 muss es daher heißen
vg
Bytecounter
Bitte warten ..
Ähnliche Inhalte
Server-Hardware
HP Smart Update Manager - Warning
Frage von Freak-On-SiliconServer-Hardware10 Kommentare

Servus; Hab hier einen HP DL380p Gen8 und will diesen per HP Smart Update Manager aktualisieren. Habe dazu das ...

Batch & Shell
SQL Abfrage - Import Erfolgreich?
gelöst Frage von newit1Batch & Shell5 Kommentare

Hallo, Ich habe ein Shell-Skript gebastelt, welches bei Ausführung eine CSV-Datei in eine Tabelle einer Datenbank importiert. Würde gerne ...

Windows Server

Asset Intelligence Catalog Sync Service Warning

Frage von AckermausWindows Server7 Kommentare

Ich hab beim System Center Configurations Manager 2016 (oder 1806) folgenden Fehler beim Asset Intelligence: "Asset Intelligence-Synchronisierungspunktstatus: Anmeldeinformationen/Zertifikat/Token abgelaufen. ...

Debian

MySQL Workbench mysql old password

Frage von Fenris14Debian3 Kommentare

Hallo, ich habe hier auf einem Linux Mint den SQL-Client "MySQL Workbench" installiert. Beim anlegen einer neuen Verbindung und ...

Neue Wissensbeiträge
E-Books

Ausgewählte Rheinwerk-Bücher jetzt online lesen! Kostenfrei

Information von Maxima2005 vor 7 StundenE-Books1 Kommentar

Vielleicht hat ja jemand Interesse sein Wissen zu erweitern. Ausgewählte Rheinwerk-Bücher jetzt online lesen! Grüße Max

Instant Messaging
Jitsi Meet - April Update verfügbar
Information von Frank vor 9 StundenInstant Messaging3 Kommentare

Im Rahmen des April-Updates erhält Jitsi Meet mehrere interessante Features. Anwender können nun nicht mehr nur ihren Bildschirm, sondern ...

Rechtliche Fragen

Rechtliche Grundlagen: Datenschutz und Datensicherheit im Homeoffice

Information von AnkhMorpork vor 1 TagRechtliche Fragen

Sollte bekannt sein, aber

Router & Routing
"Upgrade" Fritte 7520 zu Fritte 7530 :-)
Information von Lochkartenstanzer vor 1 TagRouter & Routing6 Kommentare

Moin, wie sich herausgestellt hat, ist die 7520 eine per Software kastrierte Version der 7530. Per "Chiptuning", um es ...

Heiß diskutierte Inhalte
Rechtliche Fragen
Nachweispflicht für Status-Emails?
Frage von VincentGdGRechtliche Fragen36 Kommentare

Moin. Mein Kollege und Datenschutzbeauftragter erfreut mich täglich mit neuen Auslegungen. Heute erklärt er mir, wir müssen die Status-Emails, ...

Server-Hardware
Wie viel Speicher braucht eine Wissensdatenbank für bis zu 50 User?
Frage von Mrhallo19981Server-Hardware36 Kommentare

Hallo, könnt ihr mir sagen wieviel Speicherplatz eine Wissensdatenbank braucht (die physikalisch speichert, also nicht mit einer Datenbank zusammen) ...

Festplatten, SSD, Raid
Festplatten Datenvernichtung Server
Frage von survial555Festplatten, SSD, Raid29 Kommentare

Hallo, ich habe noch ein paar alte Server, wo ich die verbauten Festplatten gerne datentechnisch "sicher" löschen möchte. Leider ...

Linux
Internetprobleme mit Wine für Linux um .exe Dateien auszuführen
Frage von WinLiCLILinux22 Kommentare

Hallo zusammen, ich möchte auf meinem debian 10 einen client für cloud-telefonie (cloud pbx) installieren, den es nur für ...