Выдает ошибку
Couldnot execute query.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 10
10-я строка
$result = mysql_query('SELECT COUNT(*) AS count FROM tovar INNER JOIN _order ON (tovar.id_tovar = _order.id_tovar)');
Спустя 12 минут, 32 секунды (14.06.2010 - 15:19) tomash написал(а):
а какая версия MySQl?
Спустя 2 минуты, 51 секунда (14.06.2010 - 15:22) vasa_c написал(а):
название таблиц, полей и алиасов заключайте в ``
Спустя 5 минут, 35 секунд (14.06.2010 - 15:28) Гость_Mila написал(а):
Цитата (tomash @ 14.06.2010 - 12:19) |
а какая версия MySQl? |
MySQL client version: 5.0.51a
Спустя 5 минут, 49 секунд (14.06.2010 - 15:34) Гость_Mila написал(а):
Цитата (vasa_c @ 14.06.2010 - 12:22) |
название таблиц, полей и алиасов заключайте в `` |
Результат тот-же ((
Спустя 2 минуты, 5 секунд (14.06.2010 - 15:36) tomash написал(а):
Попробуйте выполнить этот запрос напрямую, через утилиту какую-то
Спустя 1 минута, 26 секунд (14.06.2010 - 15:37) Гость_Mila написал(а):
Цитата (tomash @ 14.06.2010 - 12:36) |
Попробуйте выполнить этот запрос напрямую, через утилиту какую-то |
Запрос выполняеться корректно... проверяла на SQL Manager 2010 for MySQL
Спустя 2 минуты, 24 секунды (14.06.2010 - 15:40) Гость_Mila написал(а):
Вот файл целиком
<?php
$page = $_GET['page']; // get the requested page
$limit =$_GET['rows'];; // get how many rows we want to have into the grid
$sidx = $_GET['sidx']; // get index row - i.e. user click to sort
$sord = $_GET['sord']; // get the direction
if(!$sidx) $sidx =1;
// connect to the database
mysql_connect('localhost', 'root', '')or die("Connection Error: " . mysql_error());
mysql_select_db('order_zpp');
$result = mysql_query('SELECT COUNT(*) AS count FROM `tovar` INNER JOIN `_order` ON (`tovar`.`id_tovar` = `_order`.`id_tovar`)');
$row = mysql_fetch_array($result,MYSQL_ASSOC);
$count = $row['count'];
if( $count > 0 && $limit > 0) {
$total_pages = ceil($count/$limit);
} else {
$total_pages = 0;
}
if ($page > $total_pages) $page=$total_pages;
$start = $limit*$page - $limit; // do not put $limit*($page - 1)
$SQL = "SELECT
`_order`.reg_num,
`_order`.data_reg,
`_order`.commerce_name,
tovar.tovar_name,
`_order`.srokdeyst_ceni,
`_order`.id_order
FROM
tovar
INNER JOIN `_order` ON (tovar.id_tovar = `_order`.id_tovar) ORDER BY ".$sidx." ".$sord." LIMIT ".$start.", ".$limit;
$result = mysql_query( $SQL ) or die("Couldnot execute query.".mysql_error());
if ( stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml+xml") ) {
header("Content-type: application/xhtml+xml;charset=windows-1251"); } else {
header("Content-type: text/xml;charset=windows-1251");
}
$et = ">";
echo "<?xml version='1.0' encoding='utf-8'?$et\n";
echo "<rows>";
echo "<page>".$page."</page>";
echo "<total>".$total_pages."</total>";
echo "<records>".$count."</records>";
// be sure to put text data in CDATA
while($row = mysql_fetch_array($result,MYSQL_ASSOC)) {
echo "<row id='". $row[id]."'>";
echo "<cell><![CDATA[". $row[reg_num]."]]></cell>";
echo "<cell>". $row[data_reg]."</cell>";
echo "<cell><![CDATA[". $row[commerce_name]."]]></cell>";
echo "<cell>". $row[srokdeyst_ceni]."</cell>";
echo "<cell><![CDATA[". $row[tovar_name]."]]></cell>";
echo "</row>";
}
echo "</rows>";
?>
Спустя 5 минут, 31 секунда (14.06.2010 - 15:45) tomash написал(а):
$result = mysql_query('SELECT * FROM `tovar` INNER JOIN `_order` ON `tovar`.`id_tovar` = `_order`.`id_tovar`');
$count = mysql_num_rows($result);
if( $count > 0 && $limit > 0) {.....
А так?
p.s. кстати JOIN это и есть INNER JOIN.
Спустя 4 минуты, 14 секунд (14.06.2010 - 15:49) Гость_Mila написал(а):
Цитата (tomash @ 14.06.2010 - 12:45) |
$result = mysql_query('SELECT * FROM `tovar` INNER JOIN `_order` ON `tovar`.`id_tovar` = `_order`.`id_tovar`'); А так? p.s. кстати JOIN это и есть INNER JOIN. |
Результат не изменный (
Спустя 1 минута, 33 секунды (14.06.2010 - 15:51) tomash написал(а):
SELECT * FROM tovar AS t INNER JOIN _order AS o ON t.id_tovar = o.id_tovar
Спустя 3 минуты, 31 секунда (14.06.2010 - 15:54) Гость_Mila написал(а):
запросы все рабочие! но где беруться/отсутствуют ковычки !??? я так поняла что это проблемма с синтаксисом MySQL
Спустя 5 минут, 38 секунд (14.06.2010 - 16:00) Гость_Mila написал(а):
Вот сдесь лишняя ;
но ошибка не пропала (
$limit =$_GET['rows'];;
но ошибка не пропала (
Спустя 12 минут, 12 секунд (14.06.2010 - 16:12) vasa_c написал(а):
mysql_query('SELECT COUNT(*) AS count FROM `tovar` INNER JOIN `_order` ON (`tovar`.`id_tovar` = `_order`.`id_tovar`)')
Вы всё-таки не заключили все имена таблиц, столбцов и алиасов в кавычки.
Спустя 8 минут, 21 секунда (14.06.2010 - 16:21) Гость_Mila написал(а):
Цитата (vasa_c @ 14.06.2010 - 13:12) |
mysql_query('SELECT COUNT(*) AS count FROM `tovar` INNER JOIN `_order` ON (`tovar`.`id_tovar` = `_order`.`id_tovar`)') Вы всё-таки не заключили все имена таблиц, столбцов и алиасов в кавычки. |
Я уже все перепробовала.... и с кавычками и без них.... запрос выполняеться правильно в консоли.... а вот в чем проблемма в php понять не могу
Спустя 8 минут, 25 секунд (14.06.2010 - 16:29) Basili4 написал(а):
Дело значит не в запросе а что то до него например предыдущий запрос косячит ты новый пытаешся выполнить и ошибка вылетает шас код гляну поближе.
Спустя 3 минуты, 45 секунд (14.06.2010 - 16:33) tomash написал(а):
Проверьте название базы! Попробуйте вывести ответ MYSQL черep mysql_error()
Спустя 51 секунда (14.06.2010 - 16:34) Gabriel написал(а):
а запрос заткнуть не в одинарные кавычки, а в двойные ("бла бла бла")?
vasa_c
vasa_c
Цитата |
`_order`.`id_tovar` |
может так?
Цитата |
`_order.id_tovar` |
Спустя 4 минуты, 50 секунд (14.06.2010 - 16:38) Гость_Mila написал(а):
и все в пустую.... ничего не меняеться
Спустя 3 минуты, 1 секунда (14.06.2010 - 16:41) tomash написал(а):
Цитата |
Попробуйте вывести ответ MYSQL черep mysql_error() |
Текст запроса в переменную и распечатайте!
Спустя 1 минута, 4 секунды (14.06.2010 - 16:42) SlavaFr написал(а):
ошибка не в первом а во втором sql. v strochke 10
зделай
echo "ORDER BY ".$sidx." ".$sord." LIMIT ".$start.", ".$limit;
и все будет ясно.
уже вижу, что запятую забыла
зделай
echo "ORDER BY ".$sidx." ".$sord." LIMIT ".$start.", ".$limit;
и все будет ясно.
уже вижу, что запятую забыла
Спустя 28 минут, 30 секунд (14.06.2010 - 17:11) tomash написал(а):
Мда.... нужно учиться читать))))