Ersetzen ab bestimmer Stelle...

thehasso

Erfahrenes Mitglied
Hallo zusammen,


ich hab eine schwierigkeit beim programmieren. Und zwar handelt es sich um eine SQL ABFRAGE die alles was nach LIMIT kommt durch $limit.$test ersetzt werden soll.



$pos = "LIMIT ";
$test = '";';

$SQL_OKAY = substr_replace($SQL_OKAY, $limit.$test,$pos);

$SQL_OKAY = "SELECT * FROM $tabelle WHERE $inhalt AND bundeslandname = '$gebiet' $sqldescasc LIMIT $limit";


Leider folgende Fehlermeldung:


1, 1";
LIMIT ALT:1, 1LIMIT NEU:2, 1
2, 1";

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1, 1"' at line 1



Wüsste jemand welchen fehler ich begehe?

Gruß
 
mixed substr_replace ( mixed $string , string $replacement , int $start [, int $length ] )
mixed: $SQL_OKAY. Das wird dein SQL-String sein
replaxement: $limit.$test Was steht den in $test?
start: $pos -> Dies sollte aber eine Zahl sein, kein String
length: Fehlt

Irgendwie macht dein ganzer Code den du gepostet hast so keinen Sinn.
 
Zuletzt bearbeitet:
ich glaube, du suchst so etwas
PHP:
$sql = 'SELECT * FROM test LIMIT 1, 5;';
$newLimit = '10,10';
$pattern = 'LIMIT';

$startPos = stripos($sql, $pattern) + strlen($pattern)+1;
echo substr_replace($sql, $newLimit, $startPos);
 
der code ergibt sinn aber ich kann umöglich 1000 zeilen code einfügen damit das ersichtlich wird.

Ich stell mal die frage etwas anders.

Mit welcher funktion in PHP kann man diese SQL Anweisung umgestalten das ab LIMIT eine Zeichenkette ersetzt wird die in $limit gespeichert ist.

$SQL = "SELECT * FROM $tabelle WHERE $inhalt AND bundeslandname = '$gebiet' $sqldescasc LIMIT $limit";
 
So, das nächste Mal hältst du dich bitte an die gängige Groß- und Kleinschreibung und verwendest Code Tags.
Ansonsten gibt es eine Verwarnung. Nach über 300 Beiträgen und mehr als 2 Jahren Mitgliedschaft, sollte man mit der Netiquette vertraut sein.
 
Zurück