2016-10-04 2 views
0

Wie Sie im Titel sehen können, habe ich eine Tabelle, die ich in einer Website verwenden möchte, die ich habe.MySQL SELECT * FROM Tabelle WHERE Name LIKE (?) ODER Besitzer LIKE (?);

Dies ist, wie die MySQL-Anweisung wie jetzt aussieht: SELECT * FROM bth_nav WHERE name LIKE (?) OR owner LIKE (?);

Auf meiner Website, die ich entweder für Namen oder Inhaber suchen zu wollen. Im Moment kann ich nur nach Namen, aber nicht nach Eigentümern suchen. Deshalb bitte ich um Hilfe, ich habe versucht, die Aussage neu zu schreiben, aber wie auch immer ich es tue, kann ich nur nach einem von ihnen suchen.

Vielen Dank im Voraus.

Antwort

1

Die Antwort wird ein wenig komplizierter als Sie erwarten würden.

Ich sehe Fragezeichen in Ihrer Abfrage, auf diese Weise kann ich annehmen, dass Sie vorbereitete Anweisungen verwenden (was gut ist!).
Ihre alte Anweisung verwendete 1 Wert (für den Namen), und jetzt möchten Sie 2 verwenden.

Sie haben einige Optionen, damit dies funktioniert.

Die einfachste wäre, dass Sie den Wert zweimal binden, aber das ist nicht der schönste Weg.

Eine bessere Möglichkeit wäre, um Ihre Parameter zu nennen, wie folgt aus:

SELECT * FROM bth_nav WHERE name LIKE (:nameOwner) OR owner LIKE (:nameOwner); 

daher, dass ich den gleichen Namen hier für beide Parameter verwenden. Jetzt können Sie den Wert an den benannten Parameter mit bindValue binden, und Sie müssen dies nur einmal tun.

+0

Danke, funktioniert wie ein Charme. –