Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Prisoner

Engrossed by the Void


Сообщения: 2229
Благодарности: 60

Профиль | Отправить PM | Цитировать


Цитата:
Создана база с помощью MySQL Front
база test
в ней таблица user
в таблице столбцы со значениями.
a, b.

1, 2
3, 4
5, 6

Результат - вывод B при a = 1.

текст программы

<?php
$DBName = "test";
$Server = "localhost";
$SQLServerName = "";
$Login = "root";
$Password = "";
$table = "user";

$Query_Str = "SELECT who AS 'Login', server AS 'Server', password AS 'Password' ";

$LinkID = mysql_connect($SQLServerName, $Login, $Password) or die("Unable create connection!";

if (!mysql_select_db($DBName,$LinkID))
{echo "<center><h1><p>Can't select database '$DBName'</p></h1><center>"; exit();}

if (($ResID = mysql_query($Query_Str,$LinkID))==0)
{echo "<center><h1><p>Our assortment is disabled</p></h1><center>"; exit();}

$Query_Str = "SELECT select b from a where id='1' AS 'Login', server AS 'Server', password AS 'Password' FROM 'table'";  

print "$Query_Str";
?>

В результате выводится только "Our assortment is disabled"

Где напортачено? (Все сделано с ваших слов)
Оки... ошибка в том, что запрос в строках кода
Код: Выделить весь код
if (($ResID = mysql_query($Query_Str,$LinkID))==0)
{echo "<center><h1><p>Our assortment is disabled</p></h1><center>"; exit();}
отправляемый к серверу БД будет таким - SELECT who AS 'Login', server AS 'Server', password AS 'Password, а не таким какой вам нужен - SELECT select b from a where id='1' AS 'Login', server AS 'Server', password AS 'Password' FROM 'table'. Поглядите внимательнее, вы же означивайте переменную строковую запросом совсем не к вашей таблице, да и странно, что к своей таблице текст запроса заносится ПОСЛЕ выполнения запроса... в общем дедло будет выглядеть так -


Код: Выделить весь код
<?php
$DBName = "test";
$Server = "localhost";
$SQLServerName = "";
$Login = "root";
$Password = "";
$table = "user";

//запрос над реализацией которого вы так долго бились - выбрать строку у которой первое поле=1 и вернуть лишь часть этой строки, то есть поле b
$Query_Str = "SELECT b FROM 'table' where a='1'";  


$LinkID = mysql_connect($SQLServerName, $Login, $Password) or die("Unable create connection!");

if (!mysql_select_db($DBName,$LinkID))
{echo "<center><h1><p>Can't select database '$DBName'</p></h1><center>"; exit();}

if (($ResID = mysql_query($Query_Str,$LinkID))==0)
{echo "<center><h1><p>Our assortment is disabled</p></h1><center>"; exit();}

print "$Query_Str";
?>
На будущее - приглядитесь к синтаксису запроса SQL, ошибки были в составлении оного, остальное не принципиально.

-------
Не могу дать более дельный совет - не хватает системных ресурсов...


Отправлено: 08:42, 29-10-2003 | #15