Ich habe ein Problem mit meinem MySQL-Code in PHP. Ich habe mein eigenes Such-Plugin für die Joomla-Seite erstellt. Dieses Plugin sucht einen Wert von der Sucheingabe. Sie können eine Firmenregistrierungsnummer oder einen Firmennamen in das Suchfeld eingeben. Die Erweiterung sollte in zwei Spalten in einer Tabelle aussehen.Suche einen Wert in zwei Spalten in MySQL
SQL-Tabelle "registered_companies"
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
in meinem PHP-Code I
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query = "SELECT *
FROM registered_companies
WHERE ".$searchInput." IN(regnumber, name)";
Mit diesem Code SQL wählen haben (ich versuchte mehrere Varianten) es funktioniert nur, wenn ich versuche, Nummer zu finden (Registrierungsnummer). Wenn ich eine Textzeichenfolge wie "Firma1" eingeben, gibt SQL Fehler 1054 Unbekannte Spalte 'Firma1' in 'WHERE-Klausel' zurück.
Ich versuche zu verwenden WHERE regnumber LIKE ".$searchInput;
Das ist in Ordnung, aber natürlich sucht der Befehl nur eine Spalte, und alle meine mehrere LIKE und OR-Befehle endete als Fehler.
Was mache ich falsch? Wie gebe ich einen SQL-Befehl ein, um das zu tun, was ich will?
thx für die Hilfe
WHERE regnumber LIKE 'stringTOSearch' OR Name LIKE ‚stringTOSearch'' –
das funktioniert, thx. Ich füge diesen [code] WHERE regnumber LIKE 'stringTOSearch' ODER den Namen LIKE '% stringTOSearch%' hinzu [/ code] –