# Php & mysql search

1. Oct 11, 2006

### klusener

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.

#### Attached Files:

File size:
410 bytes
Views:
77
• ###### search.txt
File size:
5 KB
Views:
75
2. Oct 12, 2006

### NoTime

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 = '" +

3. Oct 13, 2006

### j777

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;

4. Oct 13, 2006

### klusener

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

(ab was the input).

5. Oct 13, 2006

### NoTime

Notice that j777 didn't put your ' in when he updated the statement. SQL does require the ' around literals.

6. Oct 14, 2006

### klusener

Thanks j777 and NoTime, it works like a charm.

7. Oct 16, 2006

### j777

Oops, sorry about the missing single quotes.