Wieso bekomme ich nen Fehler? :0
Btw, wie bekomme ich es hin, das das Array auch in den Funktionen verfügbar ist.
Jetzt das HTML-Seminar als
Video-Tutorial
mit über 210 Videos,
Gesamtspielzeit über 24 Stunden
Video-Kurs HTML5+CSS+Webdesign
Mehr dazu unter: Abstimmung über das Forum
Wieso bekomme ich nen Fehler? :0
Btw, wie bekomme ich es hin, das das Array auch in den Funktionen verfügbar ist.
durch global wird es verfuegbar. hab aber vergessen, ob es auch aenderungen nach draussen uebernimmt
musste mal testen
edit:
oder so (wie ich es nutze)
durch das erste & in den parametern wird SYS als referenz von aussen "aufgenommen".
bei der zuweisung in $this->SYS =& wird wieder eine referenz zum eingehenden aufgebaut, wodurch es auf den ggleichen inhalt wie aussen zeig.
heisst:
wenn du drin was aenderst, ist es draussen auch geaendert.
und ungekehrt.
Ähhm, mein Verständniss ist gebremst
aber danke
Parse error: syntax error, unexpected '__construct' (T_STRING), expecting function (T_FUNCTION)
Ja mist. Muss
Function __construct
Heissen
Sorry
Ich hatte das mal hier versucht zu deuten; Referenz in Klassen
Auf php.net wird von bezeichner gesprochen.
Schwer zu erklaeren.
Ich bin zu blöd
Warning: Missing argument 1 for test::__construct(), called in .. on line 246 and defined in .. on line 238
sorry, wollte das eigtl noch nachschieben, habs dann aber vergessen =)
beim erstellen eines Objekts von Test (also bei $x = new Test()) wird __construct ausgeführt.
Daher $obj = new Test($SYS)
Mit der Variante - der Referenz - kannst Du innen den Wert ändern und außen.
Löschen auch. Einfach mal ausprobieren.
Ich bekomme nur iwi was ich drinnen veränder nicht mehr Raus .. Zeile 200 & 211 sind interessant
außerdem bekomme ich bei dem hier
Fatal error: Cannot use object of type PDOStatement as array in /var/www/USER/usermanagement.php on line 189
Kann man das lösen?
Muss ja beides (aussen und innen) anzeigen, denn Du verkettest ja Drinnen:
hier mal n test ohne der Verkettung. Dafür als array:
zum 2. Fehler:
Daran liegts.
$dbconnect ist sicherlich ein Objekt von PDO.
Daher:
Also $sql['ipblock'] ist jetzt ein obkect. Du kannst also keine Array-Ebene reinquetschen =)
Besser ne temp-var:
hmm fürs sql wollt ich das so cool umgehen
aber dein array ebenen kommentar hats gebracht
Das geht auch =)
BTW: Du nutzt die PDO, dann aber keine Daten direkt in die Query!
Nutze besser ->prepare und ->execute
http://www.php.net/manual/de/pdo.query.php
vielen dank für den Tipp mit dem Array
bloß dass es immernoch eingesperrt ist
aber, was bewirkt denn ATTR_PERSISTENT?
http://www.php.net/manual/de/pdo.connections.php
Bei "Beispiel #4 Persistente Verbindungen"
ZitatPersistente Verbindungen werden nicht am Ende des Skripts geschlossen, sondern werden gecacht und wiederverwendet, ...
Dadurch fällt das connecten bei jedem erneuten aufrufen der Seite weg.
/
Bei mir ging es mit Deinem Bsp oO?
Bei mir auch mit deinem Beispiel oO
hier dann nichtmehr
aber was mich viel mehr interresiert.. wieso bekomme ich
Fatal error: Call to undefined function sqlInfo() in .. on line 243
Geht doch =)
Den Fehler "Fatal error: Call to undefined function sqlInfo() in .. on line 243" bekomme ich nicht. Sehe auch nirgends eine function sqlinfo() genutzt oO?
Aber hier stimmt was nicht:
btw: Du musst noch einen evtl Fehler bei ->execute abfangen:
wie löst man das mit dem Array in der Mail am besten?
Mein vermeintliches 'nicht außen ankommen' lag am Zeitpunkt, des Aufrufen des Arrays
jaja das mit den Rows --hab ich nachträglich aus Faulheit kurz so gelöst
ist schon geändert worden
implode wuerd ich sagen.
oh, jetzt haste editiert ... mom ... lesen
Warum global auf einmal?
Wenn die function in der gleichen Klasse ist, dann kannste doch $this->SYS nutzen oO?
Zu dem message array:
wenn Du dort e-msgs sammelst, dann immer so, dass Du eine "Variante" erwarten kannst.
Also nicht einmal ein String, oder manchmal ein Array. Dann besser immer ein Array.
Auch wenn Du im code weißt, dass es nur eine msg wird.
Dann besser [] = array($single_msg)
Denn dann kannst Du immer erwarten, dass es ein Array ist.
und dann halt wie oben schon gesagt: implode()
und warum schickst Du alle vars in das SYS-Array ? Sogar i ?
hmm..
und wie bekomm ich das hier in ein Array...
global, weil es nicht in der Klasse ist...
kannst du mir das mit dem msg Array mal als Code schreiben? meine Hirndenkfähigkeit ist grad down
wieso ich die alle ins sys Array schicke..? gute frage.
ok, ich weiß grad nicht ob implode rekursiv auf Arrays wirkt..?
implode rec. - nein.
Würde aber an der stelle, wo du ->errorInfo() ausliest, den String zusammenstellen.
Am besten (da immer wieder mal gebraucht wird) in einer eigenen func/methode.
Zu errorInfo():
http://www.php.net/manual/en/pdo.errorinfo.php
Zitat
Element Information
0 SQLSTATE error code (a five characters alphanumeric identifier defined in the ANSI SQL standard).
1 Driver-specific error code.
2 Driver-specific error message.
was Du brauchst ist [0] und [2] mMn.
Ich glaube [1] ist/war oft leer. Kann mich aber irren.
Ich hatte letztens schon mal geposted, was ich nutze:
manchmal war/ist die ebene [2] leer. Daher per error_get_last_str() den letzten error geholt.
Man kann natürlich auch:
Aber dann hast Du keine Bezeichnungen.
Also noch mal übersichtlicher:
edit:
sorry - vergessen: die func "error_get_last_str" ist ja nicht vordefiniert
hier is sie: