Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
1

Parse error: syntax error, unexpected '}' in

17.11.2012, 19:23. Показов 885. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
ошибка
Parse error: syntax error, unexpected '}' in Z:\home\my_prim.kz\www\index.php on line 8

причем скобки расставлены правильно,
Подскажите пожалуйста в чем может быть проблема.
Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
$host = 'localhost';
$user = 'Abay19941308';
$password = '256256';
if (!mysql_connect($host, $user, $password))
{
exit(mysql_error())
}
else
{
echo "Подключились!!!!";
}
 
mysql_select_db("kazakhtelecom") or die(mysql_error());
$res = mysql_query("SHOW TABLES FROM `kazakhtelecom`,$db") or die(mysql_error());
if (!$res) {echo "Запрос на выборку не прошел. Напиште администратору:***";
exit (mysql_error());}
$myrow = mysql_fetch_array($res);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset =windows -1251">
<title> <?php echo $myrow["title"];?></title>
</head>
<body>
<?php echo $myrow["title"];?></title>
</body>
</html>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2012, 19:23
Ответы с готовыми решениями:

Выборка из двух таблиц: Parse error: syntax error, unexpected T_STRING in
Здравствуйте, замучился уже с этим запросом, подскажите, что тут не так? $sql_top=mysql_query...

Ошибка в php скрипте: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
Возникла ошибка в php скрипте на вывод текста из БД Сама ошибка: Parse error: syntax error,...

PHP - Выскакивает ошибка Parse error: syntax error, unexpected T_STRING in
Всем привет. У меня выскакивает ошибка: Parse error: syntax error, unexpected...

PHP Parse error: syntax error, unexpected 'text' (T_STRING)
// Strip &lt;body&gt; if ( $html_head_end = stripos( $html, '&lt;script type='text/javascript'&gt;var...

16
814 / 797 / 201
Регистрация: 21.09.2012
Сообщений: 2,656
17.11.2012, 19:51 2
В конце 8 строки нет ;
PHP
1
2
3
4
if (!mysql_connect($host, $user, $password))
{
    die(mysql_error());
}
1
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 20:27  [ТС] 3
Поставил точку с запятой. Теперь выходит другая ошибка!!!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
17.11.2012, 20:32 4
Это:
PHP
1
$res = mysql_query("SHOW TABLES FROM `kazakhtelecom`,$db") or die(mysql_error());
Должно быть так:
PHP
1
$res = mysql_query("SHOW TABLES FROM `kazakhtelecom`", $db) or die(mysql_error());
1
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 20:40  [ТС] 5
да спасибо поменял теперь выходит очередная ошибка.
Warning: mysql_query() expects parameter 2 to be resource, null given in Z:\home\my_prim.kz\www\index.php on line 14
0
Эксперт PHP
5753 / 4133 / 1507
Регистрация: 06.01.2011
Сообщений: 11,276
17.11.2012, 20:48 6
abay19941308, $db можно вообще не писать тут:
PHP
1
$res = mysql_query("SHOW TABLES FROM `kazakhtelecom`", $db) or die(mysql_error());
Не думаю что вы используете несколько баз. Но можно и оставить $db, но тогда тут подправить:
PHP
1
2
3
4
5
6
...
if (!$db=mysql_connect($host, $user, $password))
{
exit(mysql_error())
}
...
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
17.11.2012, 21:01 7
$db нигде не было определено до этого. попробую угадать:
если это имя базы, а kazakhtelecom -- имя таблицы, то можно так:
PHP
1
$res = mysql_query("SHOW TABLES FROM `$db`.`kazakhtelecom`") or die(mysql_error());
если $db -- это идентификатор подключения, то все оставить как было, но поменять строку подключения:
PHP
1
if (!($db = mysql_connect($host, $user, $password)))
в остальных случаях достаточно простого:
PHP
1
$res = mysql_query("SHOW TABLES FROM `kazakhtelecom`") or die(mysql_error());
Добавлено через 9 минут
ой, глупость сморозил. очевидно, что kazakhtelecom -- имя базы. но все равно, скорее всего ничего не выдаст, кроме нотиса о несуществующем индексе. так что вместо
PHP
1
2
3
<body>
<?php echo $myrow["title"];?></title>
</body>
лучше написать
PHP
1
2
3
<body>
<?php echo $myrow[0];?></title>
</body>
а еще лучше, предварительно посмотреть, какие есть столбцы, кодом
PHP
1
print_r($myrow);
0
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 21:03  [ТС] 8
О боже как мне надоели все эти ошибки!!!
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.`kazakhtelecom`' at line 1
Да Kazakhtelecom это имя БД
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
17.11.2012, 21:10 9
точка не нужна. всмысле, это я наверное Вас запутал. правильный вариант, без $db:
PHP
1
$res = mysql_query("SHOW TABLES FROM `kazakhtelecom`") or die(mysql_error());
0
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 21:16  [ТС] 10
Понял в чем ошибка заменил в именах кавычки ' на ` и выходит новая ошибка
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'Abay'@'localhost' (using password: NO) in Z:\home\my_prim.kz\www\index.php on line 5
Access denied for user 'Abay'@'localhost' (using password: NO)
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
17.11.2012, 21:31 11
' и " -- кавычки, которыми "обрамляются" строки php, их трогать не надо) в самом запросе, т.е. внутри mysql_query('запрос'), иногда названия баз или таблиц экранируются с помощью кавычек `. Причем, обычно можно обойтись и без них, как в вашем случае, сойдет:
PHP
1
$res = mysql_query("SHOW TABLES FROM kazakhtelecom") or die(mysql_error());
а нужны они тогда, когда название таблицы включает в себя запрещенные символы (пробел например), или это название является ключевым словом sql. Например нельзя
SQL
1
SELECT * FROM SELECT
, нужно
SQL
1
SELECT * FROM `select`
. Это если в базе есть такая таблица с названием select.
Кавычки ` в самом пхп не используются

Добавлено через 6 минут
кстати, для вашего случая как раз все строки лучше заключать в кавычки '. Разница между ' и " заключается в том, что
PHP
1
2
$a = 3;
echo '$a';
выведет строку "$a". в то время как
PHP
1
2
$a = 3;
echo "$a";
выведет "3". т.е. внутри кавычек "" переменные, начинающиеся со знака $, обрабатываются. в одинарных кавычках -- нет. поэтому, если в самой строке переменных нет, лучше использовать одинарные кавычки, чтобы не заставлять интерпретатор искать эти самые переменные, которых там просто напросто нет.
1
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 21:46  [ТС] 12
Спасибо большое.Все ошибок к счастью больше нет но выводит следующее
(Подключились!!!! abonent)
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
17.11.2012, 21:50 13
abonent -- это, очевидно, название первой таблицы в вашей базе. если вы ожидали увидеть список всех таблиц, нужен цикл. mysql_fetch_array выбирает одно значение из результата запроса. таким образом, вместо одного $res = mysql_fetch_array, вам нужно что-то вроде:
PHP
1
2
3
while($row = mysql_fetch_array($res)) {
    echo $row[0], '<br>';
}
1
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 21:56  [ТС] 14
да выводит все БД
abonent
dogovor
operatory
usluga
Она должна выводить их просто текстом а как вывести чтобы было все в таблице какой-нибудь
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
17.11.2012, 22:06 15
так. тогда есть два варианта. первый простой, второй -- хороший. не люблю учить ну уж совсем плохому (на самом деле конечно, все это -- тестовые примеры), поэтому покажу сразу как лучше, да и гораздо чаще такой подход используется.
работа скрипта разделяется на два этапа. первый -- выборка данных из базы, второй -- вывод этих данных. данные -- это массив, содержащий названия таблиц. формируем его:
PHP
1
2
3
4
$tables = array();
while($row = mysql_fetch_array($res)) {
    $tables[] = $row[0]; // добавление элемента в массив
}
вывод происходит уже в теле html-части. там где сейчас стоит
PHP
1
2
3
<body>
<?php echo 'что-то там';?>
</body>
вместо этого пишем:
PHP
1
2
3
4
5
6
7
8
9
10
11
<body>
    <table>
    <tbody>
        <?php foreach ($tables as $table) { ?>
        <tr>
            <td><?php echo $table;?></td>
        </tr>
        <?php } ?>
    </tbody>
    </table>
</body>
1
0 / 0 / 0
Регистрация: 23.04.2012
Сообщений: 34
17.11.2012, 22:20  [ТС] 16
Всем огромное спасибо всем кто помогал в особенности пользователю NEbO!!!!
0
KOPOJI
18.11.2012, 19:47     Parse error: syntax error, unexpected '}' in
  #17

Не по теме:

а зачем вообще что-то куда то накапливать а затем выводить? Почему бы не сразу выводить с таблицей? :scratch:

PHP
1
2
3
4
5
6
7
8
9
10
11
<body>
    <table>
    <tbody>
        <?php while($row = mysql_fetch_assoc($res)) : ?>
        <tr>
            <td><?php echo $row['название_поля']; ?></td>
        </tr>
        <?php endwhile; ?>
    </tbody>
    </table>
</body>

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.11.2012, 19:47

Mysql_result непонятная ошибка Parse error: syntax error, unexpected ','
Добрый вечер ,уважаемые форумчане!Помогите пожалуйста справить с такой ошибкой: Parse error:...

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STR
Добрый вечер. Подскажите, пожалуйста, что за ошибка такая. Вроде бы на синтаксис ругается, но я...

ошибка Parse error: syntax error, unexpected T_STRING in
&lt;?php $conn = mysqli_connect(&quot;localhost:3306&quot;, &quot;root&quot;, &quot;vertrigo&quot;); ...

Parse error: syntax error, unexpected 'isset' (T_ISSET)
Сайт выдает такую ошибку Parse error: syntax error, unexpected 'isset' (T_ISSET) in...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru