[ПОМОЩЬ]Правильный запрос к базе

Статус
В этой теме нельзя размещать новые ответы.

Squoll2

Постоялец
Регистрация
2 Июн 2009
Сообщения
80
Реакции
15
Народ помогите выполнить полный запрос к базе на посик.
PHP:
<?php
if ($_POST)
{
	$connection = mysql_connect('', '', '');
	mysql_select_db('fees0_4171178_gangsta', $connection);
	$result = mysql_query('
		SELECT
			`ip`
		FROM `grpgusers`
		WHERE (
			`id` = \''.mysql_real_escape_string($_POST['id']).'\'
			`username` = \''.mysql_real_escape_string($_POST['username']).'\'
		)
		LIMIT 1
	');
	if (mysql_num_rows($result) == 1)
		echo('<h3>Ваш ID: <font color=gree>'.mysql_result($result, 0, 0).'</font> <br>скопируйте его</h3><br><center><a href=war3opit.html>Перейти дальше</a></center>');
	else
		echo('<h3>Такой ник ненайден в базе</h3>');
	mysql_free_result($result);
	mysql_close($connection);
}
?>
<form name="search_id" action="" method="post">
	<label for="username">Ник:</label><br/>
		<input type="text" name="username" id="username" value=""/><br/>
	<label for="id">ID:</label><br/>
		<input type="text" name="id" id="id" value=""/><br/
	<input type="submit" name="button" id="button" value="Поиск"/>
</form>

Дело в том что надо ввести логин и id то есть логин одного игрока а id другого и он должен вывести две строчки с ip первого и второго. Что я именно сделал нетак так как скрипт неработает
 
Между 2мя условиями равенства надо поставить какой-нибудь логический оператор, например, AND или OR, в зависимости от логики. 2ух строчек там никак не будет, т.к. в запросе указано LIMIT 1
 
Получилось но не совсем то что надо он выводит ip только первого точнее надо ввести логин или id одного и того же а мне надо чтобы id был от одной записи а ник от другой то есть есть два игрока у обоих есть id и ник. Например я ввожу ник первого игрока а id второго и мне выводит их Ip
 
использовать либо два запроса, либо использовать один сложный запрос:
PHP:
$result = mysql_query("SELECT `ip` FROM `grpgusers` WHERE `id` = '$id' LIMIT 1"); 
if (list($ip) = mysql_fetch_row($result)) echo "IP-id:".$ip;
$result = mysql_query("SELECT `ip` FROM `grpgusers` WHERE `username` ='$username' LIMIT 1"); 
if (list($ip) = mysql_fetch_row($result)) echo "IP-username:".$ip;
 
использовать либо два запроса, либо использовать один сложный запрос:
PHP:
$result = mysql_query("SELECT `ip` FROM `grpgusers` WHERE `id` = '$id' LIMIT 1"); 
if (list($ip) = mysql_fetch_row($result)) echo "IP-id:".$ip;
$result = mysql_query("SELECT `ip` FROM `grpgusers` WHERE `username` ='$username' LIMIT 1"); 
if (list($ip) = mysql_fetch_row($result)) echo "IP-username:".$ip;
этот запрос неподошёл выдется что такой ник ненайден в базе
 
хм... поидеи должно работать, а если так?
PHP:
$id = mysql_real_escape_string($_POST['id']);
$username = mysql_real_escape_string($_POST['username']);

// запрос на ID
$result = mysql_query("SELECT `ip` FROM `grpgusers` WHERE `id` = '".$id."'"); 
if (list($ip) = mysql_fetch_row($result)) echo "IP-id:".$ip;
// запрос на username
$result = mysql_query("SELECT `ip` FROM `grpgusers` WHERE `username` ='".$username."'"); 
if (list($ip) = mysql_fetch_row($result)) echo "IP-username:".$ip;
 
Вот так теперь захотел работать
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху