Page 1 of 1
simple sql search script
Posted: Fri Mar 26, 2004 6:29 pm
by ferric
I cannot figure out why this isn't working- can someone shed some light please?
<?
$db = mysql_connect('localhost', $username, $password);
@mysql_select_db($database) or die("Unable to select database");
$sql = "SELECT name
FROM characters
WHERE name LIKE '$keys'
";
$sql_result = mysql_query($sql,$db) or die ("Couldn't execute SQL query");
if ($row = mysql_fetch_array($sql_result)) {
$id = $row["id"];
$charname = $row["name"];
echo $charname;
} else {
echo "not found in the database!";
}
mysql_free_result($sql_result);
mysql_close($db);
?>
Posted: Fri Mar 26, 2004 6:33 pm
by markl999
Try ...
$sql = "SELECT name FROM characters WHERE name LIKE '%$keys%'";
Though you'll have to define "isn't working" for a better answer if that doesn't solve it

Posted: Fri Mar 26, 2004 6:38 pm
by werlop
markl999 wrote:Try ...
$sql = "SELECT name FROM characters WHERE name LIKE '%$keys%'";
Though you'll have to define "isn't working" for a better answer if that doesn't solve it

Yeah, are you getting an error, or just not the results that you expected.
Also, could you post using the php tags in this forum in the future, here is your code syntax highlighted:
Code: Select all
<?php
$db = mysql_connect('localhost', $username, $password);
@mysql_select_db($database) or die("Unable to select database");
$sql = "SELECT name
FROM characters
WHERE name LIKE '$keys'
";
$sql_result = mysql_query($sql,$db) or die ("Couldn't execute SQL query");
if ($row = mysql_fetch_array($sql_result)) {
$id = $row["id"];
$charname = $row["name"];
echo $charname;
} else {
echo "not found in the database!";
}
mysql_free_result($sql_result);
mysql_close($db);
?>
Posted: Fri Mar 26, 2004 6:39 pm
by ferric
thank-you, that fixed it. What do the %'s do?
Posted: Fri Mar 26, 2004 6:39 pm
by markl999
The &'s are mysql's wildcards, sorta like *foo*.
Posted: Fri Mar 26, 2004 6:53 pm
by ferric
Oh- good, thanks. Although it works, it will only pull the first result it finds out of the database and stops.. how would I make it continue searching even after it's found something?
Posted: Fri Mar 26, 2004 6:56 pm
by markl999
Code: Select all
<?php
$db = mysql_connect('localhost', $username, $password) or die(mysql_error());
mysql_select_db($database) or die('Unable to select database');
$sql = "SELECT name FROM characters WHERE name LIKE '%$keys%'";
$sql_result = mysql_query($sql,$db) or die ("Couldn't execute SQL query");
if(mysql_num_rows($sql_result)){
while ($row = mysql_fetch_array($sql_result)) {
$id = $row["id"];
$charname = $row["name"];
echo $charname;
}
} else {
echo 'not found in the database!';
}
mysql_free_result($sql_result);
mysql_close($db);
?>
Posted: Fri Mar 26, 2004 7:08 pm
by ferric
thanks!