0% found this document useful (0 votes)
19 views

Search Coding2

The document discusses connecting to a MySQL database and performing a search query on the database. Code is provided to connect to the database, select a database, escape user input as a security measure, perform a search query to find matches, and output the results. The search allows for partial matches by using SQL LIKE and wildcard characters.

Uploaded by

Ceh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Search Coding2

The document discusses connecting to a MySQL database and performing a search query on the database. Code is provided to connect to the database, select a database, escape user input as a security measure, perform a search query to find matches, and output the results. The search allows for partial matches by using SQL LIKE and wildcard characters.

Uploaded by

Ceh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

2 php DALJEET SHERGILL

mysql_connect("localhost", "root", "") or die("Error connecting to database: ".mysql_error());

/*

localhost - it's location of the mysql server, usually localhost

root - your username

third is your password

if connection fails it will stop loading the page and display an error

*/

mysql_select_db("tutorial_search") or die(mysql_error());

/* tutorial_search is the name of database we've created */

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"


"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Search results</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" type="text/css" href="style.css"/>

</head>

<body>

<?php

$query = $_GET['query'];

// gets value sent over search form


3 php DALJEET SHERGILL

$min_length = 3;

// you can set minimum length of the query if you want

if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then

$query = htmlspecialchars($query);

// changes characters used in html to their equivalents, for example: < to &gt;

$query = mysql_real_escape_string($query);

// makes sure nobody uses SQL injection

$raw_results = mysql_query("SELECT * FROM articles

WHERE (`title` LIKE '%".$query."%') OR (`text` LIKE '%".$query."%')") or die(mysql_error());

// * means that it selects all fields, you can also write: `id`, `title`, `text`

// articles is the name of our table

// '%$query%' is what we're looking for, % means anything, for example if $query is Hello

// it will match "hello", "Hello man", "gogohello", if you want exact match use `title`='$query'

// or if you want to match just full word so "gogohello" is out use '% $query %' ...OR ... '$query %' ...
OR ... '% $query'

if(mysql_num_rows($raw_results) > 0){ // if one or more rows are returned do following

while($results = mysql_fetch_array($raw_results)){
4 php DALJEET SHERGILL

// $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid
it does the loop

echo "<p><h3>".$results['title']."</h3>".$results['text']."</p>";

// posts results gotten from database(title and text) you can also show id ($results['id'])

else{ // if there is no matching rows do following

echo "No results";

else{ // if query length is less than minimum

echo "Minimum length is ".$min_length;

?>

</body>

</html>

You might also like