Heim >Backend-Entwicklung >PHP-Tutorial >Wie verwende ich LIMIT mit MySQL-vorbereiteten Anweisungen in PDO?
LIMIT-Schlüsselwort in MySQL mit vorbereiteter Anweisung
Beim Versuch, eine vorbereitete Anweisung mit dem LIMIT-Schlüsselwort auszuführen, kann es zu einer Fehlermeldung kommen verwenden die PDO-Bibliothek (PHP Data Objects). Dies liegt daran, dass PDO alle Parameter als Zeichenfolgen behandelt, was zu Analysefehlern führen kann, wenn numerische Werte für die LIMIT-Argumente verwendet werden.
Um dieses Problem zu beheben, können Sie die folgenden Optionen in Betracht ziehen:
1. Parameter einzeln binden:
Sie können jeden Parameter manuell mit dem entsprechenden Typ binden und so sicherstellen, dass die LIMIT-Argumente als Ganzzahlen behandelt werden:
$comments->bindParam(1, $post, PDO::PARAM_STR); $comments->bindParam(2, $min, PDO::PARAM_INT); $comments->bindParam(3, $min, PDO::PARAM_INT);
2. Vorbereitete Anweisungen deaktivieren:
Eine weitere Option besteht darin, emulierte Vorbereitungen zu deaktivieren, was dazu führen kann, dass Argumente zitiert werden:
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
3. Übergeben Sie keine LIMIT-Werte:
Anstatt die LIMIT-Werte als Parameter zu übergeben, können Sie sie direkt in die Abfragezeichenfolge einbetten:
$query = sprintf('SELECT id, content, date FROM comment WHERE post = ? ORDER BY date DESC LIMIT %d, %d', $min, $max);
Indem Sie die Verwendung emulierter Vorbereitungen vermeiden oder das explizite Festlegen von Parametertypen können Sie vorbereitete Anweisungen mit dem Schlüsselwort LIMIT in MySQL erfolgreich ausführen.
Das obige ist der detaillierte Inhalt vonWie verwende ich LIMIT mit MySQL-vorbereiteten Anweisungen in PDO?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!