Hallo!
Erstmal zu meiner DB Spalte
Beim Absende des Beitrages prüfe ich ob [read_more] im Beitrag vorkommt, schreibe die Position in diese Spalte und bei der Ausgabe des Beitrages kürzt er an dieser Position und fügt einen Weiterlesen Link ein. Dies funktioniert soweit.
Wenn jetzt aber kein [read_more] im Beitrag vorkommt, spuckt er mir die Fehlermeldung
aus.
Zeile 31 ist diese
Ich vermute es liegt an dem Default NULL. Kommt kein [read_more] vor, schreibt er gar nix in die Spalte, d.h die Spalte ist leer und ich erhalte die Fehlermeldung. Setze ich das Feld Manuell auf NULL, gibt es keine Fehlermeldungen. Wie kann ich dies via PHP bewerkstelligen?
Alles anzeigen
Mit null oder NULL trägt er nix ein, das Feld bleibt leer. Mit "null" oder 'null' trägt er den String null ein was ebenfalls zu einer Fehlermeldung wird.
Wie kann ich also wenn kein [read_more] im Text vorkommt den Standarfwert DEFAULT NULL beibehalten oder neu setzen?
Erstmal zu meiner DB Spalte
Beim Absende des Beitrages prüfe ich ob [read_more] im Beitrag vorkommt, schreibe die Position in diese Spalte und bei der Ausgabe des Beitrages kürzt er an dieser Position und fügt einen Weiterlesen Link ein. Dies funktioniert soweit.
Wenn jetzt aber kein [read_more] im Beitrag vorkommt, spuckt er mir die Fehlermeldung
Warning: substr() expects parameter 3 to be long, string given in C:\server\htdocs\article\class\class_article.php on line 31
aus.
Zeile 31 ist diese
Ich vermute es liegt an dem Default NULL. Kommt kein [read_more] vor, schreibt er gar nix in die Spalte, d.h die Spalte ist leer und ich erhalte die Fehlermeldung. Setze ich das Feld Manuell auf NULL, gibt es keine Fehlermeldungen. Wie kann ich dies via PHP bewerkstelligen?
PHP-Quellcode
- /*
- * Prüfen ob readmore gesetzt und position ermittelt
- * wenn ja dann Update des Posts da ein leerer Wert zu einer Fehlermeldung führt
- */
- $string = $Core->get(POST, 'post_text');
- $suchstring = '[read_more]';
- $rueckgabe_ereg = ereg($suchstring, $string);
- if ($rueckgabe_ereg == 1) {
- // Position des Weiterlesen Links ermitteln
- $findmich = '[read_more]';
- $meinstring1 = $Core->get(POST, 'post_text');
- $pos1 = stripos($meinstring1, $findmich);
- } else {
- $pos1 = null;
- }
- / Update der Datenbank
- $updateparams = array(
- ':post_id' => $post_id,
- ':read_position' => $pos1
- );
- $sql = 'UPDATE ' . BLOG_POST . ' SET read_position = :read_position WHERE post_id = :post_id LIMIT 1';
- $stmt = MyDB::getInstance()->prepare($sql);
- $stmt->execute($updateparams);
Mit null oder NULL trägt er nix ein, das Feld bleibt leer. Mit "null" oder 'null' trägt er den String null ein was ebenfalls zu einer Fehlermeldung wird.
Wie kann ich also wenn kein [read_more] im Text vorkommt den Standarfwert DEFAULT NULL beibehalten oder neu setzen?