Простой поиск по БД

  • Автор темы senator
  • Дата начала

senator

Guest
Простой поиск по БД

вот такой вопрос:


$query = "SELECT name,lastname,email FROM info WHERE $category = '$key'";

$result = mysql_result($query);

if (mysql_fetch_row($result) == 0)
print "Sorry, but no matches were found. Please try your search again:";

list($name, $lastname, $email) = mysql_fetch_row($result);
print "<h3>Information:</h3>";
print "<b>Name:</b> $name <br>";
print "<b>LastName</b> $lastname <br>";
print "<b>Email:</b> <a href-\"mailto:$email\">$email</a> <br>";



три переменные пл которым орг. поиск:
$name
$lastname
$email

получаем их из формы


<form action="search.php" method="POST">
Search by:
<select name="category">
<br>
<option value-"name">Name<br>
<option value="lastname">Lastname<br>
</select><br><br>
Keyword:&nbsp;
<input type="text" name="key" size="20" maxlength="20"><br><br>
<input type="submit" value="Search">
</form>



вроде всё в норме, вот почему то не работает?
вот какая ошибка вылазит:
Warning: Wrong parameter count for mysql_result() in e:\home\localhost\www\search.php on line 7

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in e:\home\localhost\www\search.php on line 9
Sorry, but no matches were found. Please try your search again:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in e:\home\localhost\www\search.php on line 12
 

senator

Guest
Пробовал вот так:

//$query = "SELECT name,lastname,email FROM info WHERE $category like '%".$key."%'";

вот эта поганая строка
if (mysql_fetch_row($result) == 0)
должно пахать ... а онго матерится
 

RomikChef

Guest
$result = mysql_result($query);
выделенное слово - неверное.
пойди в фак и прочти, какое там должно быть на самом деле.

if (mysql_fetch_row($result) == 0)
НЕ ДОЛЖНО пахать.
должно - if (mysql_num_rows($result) == 0)
 

KR

alive in new life
Скорее всего mysql_result из другой оперы, но такая ф-я есть и ты даже ее неправильно используешь.

Все просто. Запоминаем вид урла:
http://ru2.php.net/mysql_result

И смотрим для чего оно вообще нужно и как использовать.
 

RomikChef

Guest
Romantik, в общем, ты прав, но к этой поблеме это не имеет отношения
КР, данный конкретный урл запоминать не надо :)
именно этот - лучше забыть :)
 

KR

alive in new life
Автор оригинала: RomikChef
КР, данный конкретный урл запоминать не надо :)
именно этот - лучше забыть :)
Запоминаем вид урла: %)
http://ru2.php.net/mysql_num_rows
%)
и т.д. и т.п.
 

senator

Guest
мужики вот весь файл:

<?php


mysql_pconnect("localhost", "senator", "12345") or die("Could not connect to MySQL server!");
mysql_select_db("info") or die("Could not select company database!");

$query = "SELECT name,lastname,email FROM info WHERE $category = '%".$_POST['key']."%'";

$result = mysql_query($query);

if (mysql_num_rows($result) == 0)
{
print "Sorry, but no matches were found. Please try your search again:<br><br>";
}
else
{
while(list($name, $lastname, $email) = mysql_fetch_row($result))
{
print "<h3>Information:</h3>";
print "<b>Name:</b> $name <br>";
print "<b>LastName</b> $lastname <br>";
print "<b>Email:</b> <a href-\"mailto:$email\">$email</a> <br>";
}
}

mysql_close();
?>

что тут не так? я уже просто так зае...
 

RomikChef

Guest
вот это
WHERE $category = '%".$_POST['key']."%'";
а надо, БЕЗ ВЫЕПЕНДРИВАНИЯ
WHERE $category = '".$_POST['key']."'";
 

senator

Guest
все равно, вот в этой строчек он матерится

if (mysql_num_rows($result) == 0)

mysql_num_rows(): supplied argument is not a valid MySQL result resource
 

senator

Guest
МЛЯ, вот я дибил ЭТОЖ НАДО БЫТЬ ТАКИМ ТУПЫМ ПРИДУРКОМ
(это я про себя)
у меня таблица откуда идёт выбор данных people называется
а не info

вот что оно мне сказало Table 'info.info' doesn't exist


приношу свои извинения, за потраченное на меня время
 
Сверху