我正在嘗試創建一個包含多個字段的數據庫進行搜索,但如果有空字段,它將顯示整個數據庫。我懷疑這是因爲OR中的查詢,我不知道如何解決它。顯示整個數據庫的多字段搜索表格
<?php
if (isset($_POST['Submit']))
{
$con = mysqli_connect();
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$surname = $_POST['surname'];
$firstname = $_POST['firstname'];
$maiden = $_POST['maiden'];
$birth = $_POST['birth'];
$death = $_POST['death'];
$keyword = $_POST['keyword'];
$sql = "SELECT * FROM obits WHERE surname LIKE '%" . $surname . "%' OR firstname LIKE '%" . $firstname . "%' OR maiden LIKE '%" . $maiden . "%' OR birth LIKE '%" . $birth . "%' OR death LIKE '%" . $death . "%' OR obittext LIKE '%" . $keyword . "%'";
$result = mysqli_query($con, $sql);
進一步下跌,我有這樣的:
if (isset($result) && $result->num_rows > 0);
則如下表等等。我想我有所有相關的信息在這裏。有什麼建議麼?請使用英文而不是程序員,我很新。提前致謝!
「請使用英文而不是程序員」, - 那部分讓我知道了,恩。回到業務。不知道你的意思是「顯示整個數據庫 - 但是是的,由於你的Query中有大量的ORs,並且在每一列進行了'Wildcard'搜索,它會產生很多結果 – andre3wap
它顯示每個在數據庫中輸入一個空白的字段 – aloeveraking24
爲什麼在將數據發送到查詢之前不對其進行驗證? – CapeStar