Forschungsfrage zur mehrspaltigen Abfrage mit PHP
P粉242126786
2023-07-26 17:32:50
<p>Ich habe eine Frage. Ich muss den gesamten Text abfragen, der eine Teilzeichenfolge enthält, die mithilfe der POST-Methode in PHP angegeben wurde. Wenn ich beispielsweise ein „a“ oder eine Zahl wie „1“ eingebe (ein Zeichen, keine ganze Zahl), muss ich dann alles finden, was dieses Zeichen oder diese Teilzeichenfolge enthält, und jede Spalte in der Tabelle überprüfen, wenn das möglich ist? Ich habe so etwas versucht, aber der Code ist etwas chaotisch. </p>
<pre class="brush:php;toolbar:false;"><?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$usersearch = $_POST["usersearch"];
versuchen {
require_once "includes/dbh.inc.php";
$query = "SELECT * FROM tlattine WHERE
tipologia LIKE :usersearch ODER
nome WIE :usersearch ODER
caratteristiche LIKE :usersearch ODER
tabstyle LIKE :usersearch ODER
tabcolor LIKE :usersearch ODER
topstyle LIKE :usersearch ODER
topcolor LIKE :usersearch ODER
provenienza LIKE :usersearch ODER
Hersteller LIKE :usersearch OR
sku LIKE :usersearch
ORDNUNG NACH Typologie, Herkunft, Jahr, Größe;";
$stmt = $pdo->prepare($query);
$stmt->bindParam(":usersearch", $usersearch);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
$pdo = null;
$stmt = null;
} Catch (PDOException $e) {
die("Abfrage fehlgeschlagen: " . $e->getMessage());
}
}
anders{
header("Speicherort: ../index.php");
}
?></pre>
<p>Ich habe bereits versucht, „%:usersearch%“ zu verwenden oder % in irgendeiner Form zu kombinieren, aber es scheint, dass mir etwas fehlt. Ich bin mir absolut sicher, aber ich kann es nicht finden :(</p>
看到你的查询,我注意到你多次使用了参数:usersearch。
PHP文档中提到:
我更倾向于避免启用模拟模式,而是更改命名占位符为位置占位符(使用'?'代替':usersearch'),然后使用
最后一件事,如果你要查询使列包含$usersearch变量,你可能应该在字符串的开头和结尾添加%。