Searching PHP & MySQL: Roots, Prefixes, & Suffixes

  • Context: PHP 
  • Thread starter Thread starter klusener
  • Start date Start date
  • Tags Tags
    Mysql Php Search
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
6 replies · 4K views
klusener
Messages
62
Reaction score
0
Hi everyone,

I'm just beginning to learn php, but I'm working on a small script where I'm trying to search a few fields in a table and if the values match, other fields in the same row are displayed.

The db has just one table with 6 fields: ID (primary key), words, definitions, roots, prefixes, and suffixes.

I'm trying to make the search engine get the value from a search form, check it against roots, prefixes, and suffixes. If any of them equal the value, the values from words, and definitions need to be displayed.

But, for some reason it just doesn't work when I arrange the code like this:

$query = "SELECT words, definitions FROM Etym WHERE roots = '$trimm' OR prefixes = '$trimm' OR suffixes = '$trimm'";

I'm attaching both the search.php and the search form, if any of you would like to help me out of this mess. I would really appreciate any advice.

Thanks.
 

Attachments

Physics news on Phys.org
Not familiar with PHP, but doubt it would parse that string.
Chances are you need to use a string concatenation operater to insert your variables in the string.
Like
$query = "SELECT words, definitions FROM Etym WHERE roots = '" + $trimm + "' OR prefixes = '" +
 
I think the string concatination operator in PHP is a period.

$query = "SELECT words, definitions FROM Etym WHERE roots = " . $trimm . " OR prefixes = " . $trimm . " OR suffixes = " . $trimm;
 
j777 said:
I think the string concatination operator in PHP is a period.

$query = "SELECT words, definitions FROM Etym WHERE roots = " . $trimm . " OR prefixes = " . $trimm . " OR suffixes = " . $trimm;

It says : Unknown column 'ab' in 'where clause'

(ab was the input).
 
Thanks j777 and NoTime, it works like a charm.
 
Oops, sorry about the missing single quotes.