PHPでMySQLコードに問題があります。私はJoomlaサイトのための自分の検索プラグインを作った。 このプラグインは検索入力から1つの値を検索します。検索ボックスに会社の登録番号または会社名を入力することができます。拡張機能は、1つの表にある2つの列を表示する必要があります。MySQLの2つのカラムで1つの値を検索する
SQL表 "registered_companies" 私のPHPコードで
id | regnumber | name | col4 | col5 | col6 etc
01 | 17333032 | company1 | bla | bla | bla
02 | 36302465 | company2 | bla | bla | bla
03 | 17311161 | company3 | bla | bla | bla
04 | 651664 | company4 | bla | bla | bla
05 | 17318599 | company5 | bla | bla | bla
を私はSQLを持って、このコードで
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = "SELECT *
FROM registered_companies
WHERE ".$searchInput." IN(regnumber, name)";
を選択します(私はいくつかのバリエーションを試してみました)それは私が数を見つけようとする場合にのみ動作します( regnumber)。 "company1"のようなテキスト文字列を入力すると、SQLは1054 Unknown column 'company1'を 'where句'に返します。
私は試してみてくださいWHERE regnumber LIKE ".$searchInput;
もちろん、コマンドは1つの列しか検索せず、複数のLIKEコマンドとORコマンドがすべてエラーに終わってしまいました。
私は間違っていますか?私は何をしたいのですか?あなたは、検索文字列に%を追加する必要が
「stringTOSearch'' –
この作品、THX LIKE 'regnumber LIKE 'stringTOSearch' OR名前。私はこのコードを追加します。regnumber LIKE 'stringTOSearch' OR LIKE '%stringTOSearch%' [/ code] –