Soalan kajian tentang pertanyaan berbilang lajur menggunakan PHP
P粉242126786
2023-07-26 17:32:50
<p>Saya ada soalan. Saya perlu menanyakan semua teks yang mengandungi subrentetan yang diberikan dengan menggunakan kaedah POST pada PHP. Contohnya, jika saya memasukkan "a" atau nombor seperti "1" (aksara bukan integer), adakah saya perlu mencari semua yang mengandungi aksara atau subrentetan itu dan semak setiap lajur dalam jadual jika boleh? Saya telah mencuba sesuatu seperti ini, tetapi kodnya agak kemas. </p>
<pre class="brush:php;toolbar:false;"><?php
jika ($_SERVER["REQUEST_METHOD"] == "POST") {
$usersearch = $_POST["usersearch"];
cuba {
memerlukan_sekali "termasuk/dbh.inc.php";
$query = "PILIH * DARI tlattine DI MANA
tipologia SUKA :usersearch ATAU
nome LIKE :usersearch ATAU
caratteristiche LIKE :usersearch ATAU
tabstyle LIKE :usersearch ATAU
tabcolor SEPERTI :usersearch ATAU
topstyle LIKE :usersearch ATAU
topcolor SEPERTI :usersearch ATAU
provenienza SUKA :usersearch ATAU
produttore LIKE :usersearch ATAU
sku LIKE :usersearch
ORDER OLEH tipologia, provenienza, tahun, dimensi;";
$stmt = $pdo->prepare($query);
$stmt->bindParam(":usersearch", $usersearch);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
$pdo = null;
$stmt = null;
} tangkapan (PDOException $e) {
die("Query failed: " . $e->getMessage());
}
}
lain{
header("Lokasi: ../index.php");
}
?></pra>
<p>Sudah cuba menggunakan '%:usersearch%' atau menggabungkan % dalam sebarang bentuk tetapi nampaknya saya kehilangan sesuatu, saya benar-benar pasti tetapi saya tidak menemuinya :(</p>
Melihat pada pertanyaan anda, saya perhatikan bahawa anda menggunakan parameter: carian pengguna beberapa kali.
Dokumentasi PHP menyebut:
Saya lebih suka mengelak daripada mendayakan mod penyamaran dan sebaliknya menukar ruang letak yang dinamakan kepada pemegang tempat kedudukan (gunakan '?' dan bukannya ':usersearch') dan kemudian gunakan
Satu perkara terakhir, jika anda bertanya supaya lajur mengandungi pembolehubah $usersearch, anda mungkin perlu menambah % pada permulaan dan akhir rentetan.