[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ошибка БД
brus69
Нужна помощь, кто поможет закину 100 руб на счёт, больше нет((, проблема выводит ошибку
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

запрос к бд

<link href="/css/stil_text_temp.css" rel="stylesheet" type="text/css">
<?
// Соединяемся с базой данных
include ("text.php");
include ("configure.php");
$table = "tehnika";
//Создаем соединение
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
//Выбираем базу данных. Если произойдет ошибка - вывести ее
mysql_select_db($dbName) or die (mysql_error());
mysql_query('set names cp1251');
################ Начинаем с навигации ##########################################
$query = "SELECT* FROM variable WHERE id=0 ";//SQL запрос на выборку одной строки
//Выполняем запрос. Если произойдет ошибка - вывести ее.

//echo "БД подключена уровень 1 <br />";


$res = mysql_query($query) or die(mysql_error());
$row = (mysql_fetch_array($res));// Выводим ячейку из таблицы где хранится данные по выводу кол-ва сообщений на страницу
$chislo = $row['poleout']; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ
$text_error = '<br />Ошибочка вышла!';// ДЛЯ УДОБСТВА ОБОЗНАЧИМ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ
$result = mysql_query("SELECT * from $table ORDER by id desc");// СОЗДАЁМ ЗАПРОС


//echo "БД подключена уровень 2 <br />";


$num_rows = mysql_num_rows($result);// СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ - У МЕНЯ ИХ 20
// А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ НАМ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО

$num_rows = round($num_rows/$chislo); // 20 ДЕЛИМ НА 5. СКОЛЬКО? :)
// ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ

if (isset($_GET['str'])) {
$nav = $_GET['str'];
}
else {
$nav = 0;
}
$nav = intval($nav); // ДЛЯ ЗАЩИТЫ ОТ НЕХОРОШИХ ДЯДЕНЕК МЫ ВЫДЕЛИМ ЦЕЛУЮ ЧАСТЬ $GET['str']
//echo 'Навигация: ';
// А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ
//$num_rows++;

for ($i=0; $i<$num_rows; $i++)
{
$nt1=($i*$chislo)+1;//формируем наигацию
$nt2=($i*$chislo)+$chislo;
$nt=$nt1."-".$nt2;//формируем наигацию
if ($i != $nav)
{
echo '[ <a href="'.$PHP_SELF.'?str='.$i.'">'.$nt.'</a> ] ';
}
else {
echo $nt." ";// АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
}
}

echo "<br />"; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ
############# Выводим таблицу ##################################################

$nomer=$chislo;// по сколько выводить сообщений на страницу
$str=(($nav)*$nomer);

//echo "БД подключена уровень 3 <br />";


$query="SELECT * from $table ORDER by id asc limit $str, $nomer";//Вывод блока


//echo "БД подключена уровень 4<br />";

//echo "БД подключена уровень 4 step 2 <br />";
// Выполняем запрос. Если произойдет ошибка - вывести ее.

$res = mysql_query($query) or die(mysql_error());
// Выводим данные из таблицы



echo "<table width=100% border=0 align=center cellpadding=5 cellspacing=0 class=\"perimetr5\" >
<tr align=
\"center\">
<td width=
\"6%\" class=\"perimetr4\">Статус</td>
<td width=
\"8%\" class=\"perimetr4\" >Дата подачи </td>
<td width=
\"15%\" class=\"perimetr4\" >Вид работ </td>
<td width=
\"10%\" class=\"perimetr4\" >Место работ </td>
<td width=
\"47%\" class=\"perimetr4\" >Описание</td>
<td width=
\"14%\" class=\"perimetr6\">телефон</td>
</tr>"
;
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($res))
{
###################################################
$publ=$row['publish'];// что с публикацией для вывода переключателя

if (($publ!="new")&&($publ!="clear"))// если статус неопределен проходим мимо
{

$status="<font color=\"#009933\"><strong>Вакантно</strong></font>";
$tel="<img src=\"8067.gif\" title=\"Телефон для связи\" /> ".$row['phone'];
$titimg=$title1;
if ($publ=="off")
{
$status="<strong><font color=\"#CC0000\">Занято</font></strong>";
$tel=" ";
$titimg=$title4;
}
$idimg=$row['id'];// привязываем ссылку к строке
##################################################

$titdata=$row['data'];//дата публикации
echo "<tr align=\"left\" valign=\"top\">";
echo "<td class=\"line1\">$status</td>";
echo "<td class=\"line1\">".$row['data']."</td>\n";
echo "<td class=\"line1\">".$row['type']."</td>\n";
echo "<td class=\"line1\">".$row['place']."</td>\n";
echo "<td class=\"line1\">".$row['description']."</td>\n";
echo "<td class=\"line1\">$tel</td>\n";
}
}

echo "<tr>
<td colspan=
\"6\" align=\"center\" >Заказы на строительную технику </td>
</tr>"
;
echo ("</table>");

/* Закрываем соединение */
mysql_close();


?>





Спустя 5 минут, 9 секунд (21.03.2012 - 16:03) inpost написал(а):
SELECT* - тут пробел.
А так же строчку этой ошибки?
Можешь написать так: or die($query.' : '.mysql_error()); и получишь запрос, который вызвал ошибку.

Спустя 8 минут, 30 секунд (21.03.2012 - 16:11) brus69 написал(а):
SELECT * from tehnika ORDER by id asc limit 0, ?? : 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

Спустя 7 минут, 15 секунд (21.03.2012 - 16:19) rooor написал(а):
$chislo - на неё ругается

Спустя 2 минуты, 40 секунд (21.03.2012 - 16:21) brus69 написал(а):
да уже понял что $chislo а что делать то?

Спустя 46 секунд (21.03.2012 - 16:22) inpost написал(а):
$row = (mysql_fetch_array($res));// Выводим ячейку  из таблицы где хранится данные по выводу кол-ва сообщений на страницу 

Не может отработать, потому что у тебя запрос вернул 0 записей, поэтому $chislo пустое.

Спустя 7 минут, 55 секунд (21.03.2012 - 16:30) brus69 написал(а):
хм в бд там 10 стоит

id publish poleout reklama counter
0 5 10 1 1 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 4 4 4 4 2

Спустя 57 секунд (21.03.2012 - 16:31) brus69 написал(а):
`poleout` = '10',

Спустя 6 минут, 28 секунд (21.03.2012 - 16:37) brus69 написал(а):
конечно проблему можно решить поставить $chislo = 10; за место $chislo = $row['poleout'];
но почему он число 10 из бд не вытаскивает

Спустя 9 минут, 36 секунд (21.03.2012 - 16:47) inpost написал(а):
$query = "SELECT * FROM `variable` WHERE `id`=0 ";

Так попробуй, или ID поставь числом не 0, а, допустим, 1. Ради теста.
И ты правильно написал "poleout" ? Проверь, выведи массив через print_r и убедись, что он есть.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.