検索入力に基づいてmysqlテーブルから値を返すことになっているスクリプトがあります。このスクリプトは2つのファイルで構成されています。私のデータベース内MySQLデータベースを検索するPHPスクリプト
search.php
<?php
if (isset($_GET['s'])) {
require_once(dirname(__FILE__) . '/class-search.php');
$search = new search();
$search_term = $GET['s'];
$search_results = $search->search($search_term);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Search</title>
</head>
<body>
<h1>Search</h1>
<div class="search-form">
<form action="" method="get">
<div class="form-field">
<label for="search-field">Search</label>
<input type="search" name="s" placeholder="Search by name" results="5" value="<?php echo $search_term; ?>">
<input type="submit" value="Search">
</div>
</form>
</div>
<?php if ($search_results) : ?>
<div class="results-count">
<p><?php echo $search_results['count']; ?> results found</p>
</div>
<div class="results-table">
<?php foreach ($search_results['results'] as $search_result) : ?>
<div class="result">
<p><?php echo $search_result->title; ?></p>
</div>
<?php endforeach; ?>
</div>
<div class="search-raw">
<pre><?php print_r($search_results); ?></pre>
</div>
<?php endif; ?>
</body>
とクラスsearch.php
<?php
class search {
private $mysqli;
public function __construct() {
$this->connect();
}
private function connect() {
$this->mysqli = new mysqli('HOST', 'USERNAME', 'PASSWORD', 'DATABASE');
}
public function search($search_term) {
$sanitized = $this->mysqli->query("
SELECT * FROM `Apple`
FROM search
WHERE Last_Name LIKE '%{$sanitized}%'
");
if (! $query->num_rows) {
return false;
}
while($row = $query->fetch_object()) {
$rows[] = $row;
}
$search_results = array(
'count' => $query->num_rows,
'results' => $rows,
);
return $search_results;
}
}
?>
私は2つのテーブルを持っているが、私はのコンテンツを検索する際にのみ興味一つのりんご)。誰かが私を助けることができますか?私はこの仕事をしているようには見えません。私が何を検索しても結果は返されません。現時点ではLast_Name基準のみを使用していますが、他のものを追加したいと思います。ここに私のテーブルhttp://imgur.com/a/H3DnGのスクリーンショットへのリンクがあります。
本当にありがとうございます。ありがとうございました。
WHERE Last_Name LIKE '%{$ sanitized}%OR OR First_Name LIKE'%{$ sanitized}%OR ... - これは正しい方法ではありません。これを使用する必要があります:https://dev.mysql.com/doc/refman/5.5/en/fulltext-search.html – Deep
ありがとうございます。私は問題を修正しましたが、同じ問題が残っています –
(主な問題を「結果は返されません」より顕著に - あなたの投稿の上部近くで言及したいと思うかもしれません。タグが見えてきたときにタイトルが消えてしまうような、質問票の最下部に明示的な(&具体的な)質問があります。時間が許され、熟読する[良い質問をするにはどうすればいいですか?](http://stackoverflow.com/help/how-to-ask)。 – greybeard