Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING
 
 автор: Лена   (18.12.2007 в 10:01)   письмо автору
 
 

Хочу научиться вытягивать информацию из базы данных. Написала вот такой скрипт (чтобы достать статью из таблицы):
<?php
$conn = mysql_connect ("localhost", "lena", "*****")
or die ("Соединение не установлено!");
mysql_select_db ('news', $conn) or die ("База данных не выбрана");
$sql=SELECT 'text' FROM 'txt' WHERE id='0';
$result=mysql_query ($sql, $conn);
print ($result);
mysql_close($conn);
?>
Высвечивается ошибка:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in s:\home\localhost\www\index\1.php on line 5
В чем проблема и как можно вывести информацию в окошко броузера?
Чтобы статья выводилась по центру, а слева оставалось меню. Заранее всем спасибо.

   
 
 автор: Faraon   (18.12.2007 в 10:05)   письмо автору
 
   для: Лена   (18.12.2007 в 10:01)
 


$sql="SELECT `text` FROM `txt` WHERE id=0"; 

   
 
 автор: Trianon   (18.12.2007 в 10:13)   письмо автору
 
   для: Лена   (18.12.2007 в 10:01)
 

Текст оператора SQL для программы на PHP является обычной текстовой строкой. И оформлять её нужно по правилам создания строк в языке PHP.

$sql = "SELECT `text` FROM `txt` WHERE id=0";

Заметьте, что имена полей и таблиц берутся в обратные косые кавычки (под буквой Ё на клавиатуре)
числовые константы брать в апострофы не требуется. Не требуется также указывать завершающий знак ;

   
 
 автор: Faraon   (18.12.2007 в 10:15)   письмо автору
 
   для: Trianon   (18.12.2007 в 10:13)
 

Если тип поля id integer, зачем значение брать в одинарные кавычки?
P.S. Уже исправили :)

   
 
 автор: Trianon   (18.12.2007 в 10:16)   письмо автору
 
   для: Faraon   (18.12.2007 в 10:15)
 

не тип поля, а тип константы.

   
 
 автор: Faraon   (18.12.2007 в 10:17)   письмо автору
 
   для: Trianon   (18.12.2007 в 10:16)
 

Ну да, оговорился :)

   
 
 автор: Лена   (18.12.2007 в 10:28)   письмо автору
 
   для: Faraon   (18.12.2007 в 10:17)
 

Исправила:
<?php
$conn = mysql_connect ("localhost", "lena", "* * * ")
or die ("Соединение не установлено!");
mysql_select_db ('news', $conn) or die ("База данных не выбрана");
$sql="SELECT `text` FROM `txt` WHERE id=0";
$result=mysql_query ($sql, $conn);
print ($result);
mysql_close($conn);
?>
Все равно ошибка:
Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in s:\home\localhost\www\index\1.php on line 5

   
 
 автор: Faraon   (18.12.2007 в 10:31)   письмо автору
 
   для: Лена   (18.12.2007 в 10:28)
 

Странно по идее сейчас не должно в этой строке ошибку выдавать.
А что Вы хотите здесь вывести print ($result); ?

   
 
 автор: Лена   (18.12.2007 в 10:37)   письмо автору
 
   для: Faraon   (18.12.2007 в 10:31)
 

хочу вывести запрошенную статью, которая у меня находится в базе данных news в таблице txt в поле text этой таблицы, хочу вывести в окно броузера, в окно сайта

   
 
 автор: Faraon   (18.12.2007 в 10:45)   письмо автору
 
   для: Лена   (18.12.2007 в 10:37)
 

>$result=mysql_query ($sql, $conn);
print ($result);
Так вы пытаетесь отобразить дескриптор
Надо использовать либо
$res=mysql_result($result, 0 , "text");
print $res;
Либо использовать к примеру mysql_fetch_array($result); в цикле, в зависимости от задачи

   
 
 автор: Лена   (18.12.2007 в 10:58)   письмо автору
 
   для: Faraon   (18.12.2007 в 10:45)
 

Попробовала добавить $res=mysql_result($result, 0 , "text");
print $res; опять ошибка в 5 строке.
А задача у меня простая: выбрать одну статью, которая находится в определенном поле таблицы. И все. Как в этом случае использовать ассоциативный массив? Вы же знаете, начинаю с нуля, поэтому в этом деле не то что "чайник", а даже "чайник" без крышки... Помогите, пожалуйста...

   
 
 автор: Faraon   (18.12.2007 в 11:06)   письмо автору
 
   для: Лена   (18.12.2007 в 10:58)
 

Неужели так не получается

<?php
$conn 
mysql_connect ("localhost""lena""* * * ")
or die (
"Соединение не установлено!");
mysql_select_db ('news'$conn) or die ("База данных не выбрана");
$sql="SELECT `text` FROM `txt` WHERE id=0";
$result=mysql_query ($sql$conn);
$res=mysql_result($result,0,"text");
print 
$res;
?>

>А задача у меня простая: выбрать одну статью
Ассоциативный массив здесь не нужен
А для примера

while($res=mysql_fetch_assoc($result)){
        print $res['text'];
        }

   
 
 автор: Лена   (18.12.2007 в 11:15)   письмо автору
 
   для: Faraon   (18.12.2007 в 11:06)
 

спасибо большое, пошло. А вот в этой строке в аргументе функции $res=mysql_result($result,0,"text");
у меня пробелы стояли... А когда применяется ассоциативный массив?

   
 
 автор: Faraon   (18.12.2007 в 11:27)   письмо автору
 
   для: Лена   (18.12.2007 в 11:15)
 

Массивы с циклами нужны когда Вы выбираете не одно значение как в Вашем примере, а множество данных из бд, скажем название, id-статьи, и тд., или скажем все названия статей и к ним id, и формируете список всех названий статей с последующим переходом к этой статье.
И т.д.

   
 
 автор: Лена   (18.12.2007 в 11:39)   письмо автору
 
   для: Faraon   (18.12.2007 в 11:27)
 

Спасибо большое, буду знать. Тема закрыта.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования