• Morgen Leute (also, guten Morgen ... Nicht Dienstag) :D

    Gestern bin ich weg, nachdem da eine Fehlermeldung war .... müder und so, da ist schlecht Fehler zu suchen (da macht man gerne noch mehr Fehler rein als eben den einen raus)

    Heute ca 2 STunden ... dann war der Fehler raus (das Problem, Scriptfehler im PHP dort wo ich die Fehlermeldung nicht auf den Bildschirm bekomen weil das Script nicht direkt aufgerufen wird ... via CronJOB)

    Hier der PHPcode

    der alte führte ... das time() hat irgendwie Backspace geschrieben udn den SET tsu= entfernt

    in den SQL ging dann „UPdate ATPshopinfo170000 WHERE ...“ sollte und ist jetzt auch „UPdate ATPshopinfo SET tsu=1580719504 WHERE ...“ sein

    also, das war erstmal gelöst .... und dann klick ich so durch die Produktdaten und schau ob es UPdates gab (etwas neues oder Preisgeändert)

    und dan sind die Produkte "uña de gato" und Gato = Katze .... und zu Google Übersetzer und rumspiel

    uña de gato = Katzenkralle

    und Gato ist nicht nur Katze .... das ist auch

    Übersetzungen für gato

    SubstantivHäufigkeit
    derSchraubzwinge gato
    dieMiez gato
    derKater resaca, cruda, modorra, guayabo, gatazo, gato
    derGeldbeutel cigarra, monedero, bolsa, bolsillo, gato
    dieMieze micifuz, micho, minino, micha, ninfa, gato
    derHebebock cabria, gato
    dasTrinkgeld adehala, extraordinario, propina, basurita, gala, gato
    dieKatze micifuz, gata, micho, micha, gato, cucho
    derWagenheber cric, alzacoches, gato
    derHebezeug

    Ey? du hast auch einen dicken Gato in der Hose?

    Ey Mize, mach mir mal ne Cola kriegst auch viel Katze aus dem welchen ich in der Hose habe


    ich geh jetzt eene rochen


    Übersetzungen für Zigarette

    SubstantivHäufigkeit
    elpucho Rest, Zigarette, Abfall, Schwanz
    elpitillo Stäbchen, Zigarette, Glimmstengel
    elcigarrillo Zigarette

    Da gibts ja schon wieder Cola

  • Du lässt von der "leichten" Sprache Spanisch besser die Finger weg. Und von den ganzen automatischen Übersetzern auch, weil sie Dir immer zig Mögllchkeiten anzeigen, aber nicht wissen, welche wo die Gebräuchlichen sind.

    „Arme Kinder sind genauso schlau und so talentiert wie weiße Kinder.“ :thumbup:

    US-Präsident Biden 2019 in einer Rede in Iowa,

  • $query .= ' SET tsu='.(int)(time()+$tsDELAY);

    Das brauchst Du nicht, ein

    $query .= ' SET tsu='.(time()+$tsDELAY);

    reicht aus.


    Dein Code vorher hing einfach an Deinen String die aktuelle time() an und dann addierte er zu dem String die 170000. Da der String aber ein String ist, wird der bei der Addition als 0 angesehen, Ergebnis ist also 170000. Der Verknüpfungsoperator '.' hat Vorrang vor mathematischen Berechnungen. Daher muss die Klammer drum.

    Das hier ergibt z.B. auch als Ergebnis 0, denn String + String ist 0, so lange der String nicht eindeutig als Zahl erkennbar ist.

    $bar = 'bar';

    echo 'Foo'+$bar;

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • Das hier ergibt z.B. auch als Ergebnis 0, denn String + String ist 0, so lange der String nicht eindeutig als Zahl erkennbar ist.

    $bar = 'bar';

    echo 'Foo'+$bar;

    Dein FooBar ist noch leicht zu verstehen .... weil man Text nicht Addieren kann kommt O oder like SQL ein NULL oder als String dann "" ein leerer String

    das gilt für PHP

    den in JavaScript ist + der Stringverbinder (das sag ich jetzt zu denen die zufällig vorbei kommen)

    und ich hab jetzt auch kappiert was bei mir passiert ist ..... es ist nicht nur nicht addiert worden, sondern es ist "String verschwunden" weil PHP den wegen dem + in die Rechnung nehmen will .....

    ich hab das jetzt an Anderer STelle laufen lassen .... darum hat $Uline keinen Inhalt

    Wichtig

    deine Erklärung der Stringaddition (also Zahlen) das müßte doch zu

    UPdate ATPshopinfo SET tsu=

    oder

    UPdate ATPshopinfo SET tsu=0

    oder

    UPdate ATPshopinfo SET tsu=170000

    führen

    es führt aber das zu das "SET tsu=" erstmal verschwindet

    noch ein Test

    nun geht beim (so von mir gewollten) rechen der Delay verlohren

    beim 2. sind es Stringaditionen (das war klat) und ist falsch

    beim 3. sind es auch Stringadditionen mit einem + das erst von SQL nicht von PHP ausgeführt wird (ob das funktionirt teste ich jetzt nicht, glaube das SQL das richtig machen würde


    nochmal, für das Kurionse (richtgges Wort?)

    Beim Versuch eine Rechnung anzuhängen, versucht PHP den String davor in die Rechnung zu nehmen und der verschwindet dann

    und .... PHP kann garnicht rechnen (es muß immer in Klammern) doch, geht auch ohne Klammer ..... wenn nur die RechenSachen da sind; Bei Rechnen und Stringverbindung kommt PHP durcheinander und wirft die Strings in den Mülleimer ....

    ... nochmal Andersrum probieren, kucken was passiert

    Code
        $test  = time()+$tsDELAY . ' Du bist eine Zahl! ';
      $content.='<br>'.  $test;
    
    1580903542 Du bist eine Zahl!

    sorum funktionirt es ....

    PHP erst macht Mathematik und dann hängt es den String an .... Warum versucht PHP da nicht den String dazu zu rechen?


    mal ehrlich, das kann doch keiner in 2 Sätzen erklären

    höchsten per Anweisung "Alle Rechnungen in PHPstring Geschichten in Klammern setzen" dann passiert dieses Problem (das nur hinter dem String aber nicht vor dem STring passiert) nicht

    Die Anweisung gilt (also, dort wirklich nötig) nur für die welche hinter einem String eine Rechnung haben

    Die welche vor dem String rechnen, bräuchten die Klammer nicht ....

    ... da kann dann einer kommen "Herr Professor, warum soll ich das immer machen? es geht auch ohne" jetzt muß der Prof doch noch erklären was nicht zu erklären ist ....

  • Ja, so funktioniert es auch, also erst Zahl + Zahl addieren.

    Bei Dir war es vom Ablauf her:

    $query .= ' SET tsu='.time()+$tsDELAY;

    Da wurde als erstes ein String mit dem time() verbunden, und ergab einen neuen String, also was wie das hier:

    $query .= ' SET tsu=1580907421'+$tsDELAY;

    Dann hat er im nächsten Schritt versucht zu addieren, also String mit Zahl. Der String ist aber 0, also wurde folgendes draus

    $query .= 0+$tsDELAY

    Und das ergibt eben

    $query .= 170000;

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(

  • PHP kann mit String nicht rechnen, wenn der String nicht als Zahl erkannt werden kann. Das hier würde gehen. Ist zwar nicht korrekt, aber PHP erkennt es.

    $foo = '3';

    $bar = '5';

    echo $foo+$bar;

    Hier ist 3 und 5 auch jeweils ein String. Die sind aber als Zahl erkennbar.

    Ein ' SET tsu=1580907421' ist das aber nicht. PHP versucht im Grunde immer, wenn mit einem String gerechnet werden soll, diesen per INT umzuwandeln und ein

    $foo = ' SET tsu=1580907421';

    echo (int)$foo;

    ergibt eben 0. Also rechnet er an der Stelle mit 0 weiter.

    Und daher verschwindet Dein ' SET tsu=1580907421' eben, weil es intern, durch den Versuch zu addieren, in 0 umgewandelt wird. Übrig bleibt dann nur, was addiert wurde, also das 170000

    Ach so, wegen den anderen Beispielen, die nicht gingen. Auch ein .= ist ein Stringverbinder. Macht also keinen Sinn, wenn Du PHP in so einem Fall nicht vorher sagst, er soll erst rechnen, dann verbinden. Und erst rechnen sagt man eben mit Klammern ()

    Klammern kommen immer zuerst, dann deren Inhalt, dann kommen String-Verbinder oder eben Aggregatoren wie +=

    Der . (Punkt) in PHP ist genau das gleiche wie das + (Plus) in JS. Wobei Dir JS sehr wahrscheinlich bei so einem Mischmasch als Ergebnis wohl einfach NaN liefern würde.

    Wenn ein Mensch nicht um dich kämpft, hat er nur gewartet, dass du gehst. ;(