0

I'm trying to creat a search procedure that will search table game and return all rows where columns title, description, platform, and gameid are LIKE parameter searchtext. This parameter is coming from many different pages as a Session("searchtext"), and I'm using a UserControl to send the Session, all pages in the site have the search UserControl.

In the search result page I have the following code (command and connection are in the design page):
Dim dsList As New DataSet
cmdSearch.Connection.Open()
cmdSearch.Parameters("searchtext").Value = Session("searchtext")
If Not Page.IsPostBack() Then
daSearch.Fill(dsList)
lblRecordCount.Text = CStr(dsList.Tables(0).Rows.Count)
dsList = Nothing
dsList = New DataSet
End If
daSearch.Fill(dsList, CInt(lblCurrIndex.Text), CInt(lblPageSize.Text), "game")
dlGames.DataSource = dsList.Tables(0).DefaultView
dlGames.DataKeyField = "gameid"
dlGames.DataBind()
cmdSearch.Connection.Close()

This is my statement (cmdSearch):
SELECT *
FROM game
WHERE (title like '%' +:searchtext+ '%' or description like '%' +:searchtext+ '%' or platform like '%' +:searchtext+ '%' or gameid like '%' +:searchtext+ '%')
ORDER BY title

I'm not sure what I am doing wrong here. This statement is returning all games in the game table. I tried '%gamename%' and it worked fine, I'm assuming I need the single quotes again with the parameter because when I tried without the single qotes it didn't work. This is almost the same command as the one I have for the ShowAllGames command, the only difference is that I added the parameter for the search.

Can anyone help me?

5
Contributors
4
Replies
7
Views
13 Years
Discussion Span
Last Post by concepcionmark
0

This is my script:

mysql_connect ("localhost","root","123");
mysql_select_db(bukutelp);
$sql=mysql_query("select * from daftar where (nama LIKE '%'+:$nama+'%') LIMIT 0, 10");
$sql_1=mysql_query("select * from daftar where (nama LIKE '%'+:$nama+'%')");
$rows = mysql_num_rows($sql_1);
IF ($rows%2==0) {$pages = $rows/2;} else {$pages = $rows/2;}
while ($baris=mysql_fetch_array($minta))
     {  echo "<br>" ;    
        echo "<strong>$baris[nama]</strong>    ";
        echo "<strong>$baris[phone]</strong>";                                            echo "<br>";
        echo "<hr align=left width=200>";                            
    }

end i got error like this

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\buku telp\cari.php on line 12

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\buku telp\cari.php on line 14

what should i do?

Edited by happygeek: fixed formatting

0

try this

SELECT *
FROM game
WHERE title like concat('%' ,:searchtext, '%') or description like concat('%' ,:searchtext, '%') or platform like concat('%' ,:searchtext, '%') or gameid like concat('%' ,:searchtext, '%')
ORDER BY title

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.