|
|
|
| код вроде правелен:
вызываеццо include'ОМ
<?php
include ("BLOCKS/connect.php");
if (isset($_GET['id_pozicii'])) {$id=$_GET['id_pozicii'];}
echo $_GET['id_pozicii'];
echo $id;
$res=mysql_query("SELECT * FROM pozicii WHERE id_pozicii='$id'");
$my=mysql_fetch_array($res);
do
{
echo $id;
}
while ($my=mysql_fetch_array($res));
?>
|
Выдаёт ошибку при вызове:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\TEHNOSTANDART\BLOCKS\read-tovar.php on line 10
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\TEHNOSTANDART\BLOCKS\read-tovar.php on line 18 | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 01:25)
| | проверил данные возвращаются? В коде не вижу | |
|
|
|
|
|
|
|
для: divbyzero
(01.02.2008 в 01:27)
| |
<?php
include ("BLOCKS/connect.php");
if (isset($_GET['id_pozicii'])) {$id=$_GET['id_pozicii'];}
$res=mysql_query("SELECT * FROM pozicii WHERE id_pozicii='$id'");
$my=mysql_fetch_array($res);
do
{
printf ("<a href='tovar2.php?id_pozicii=%s'</a><p class='tovar'>%s</p>",$my["id_pozicii"],$my["poziciya"]);
}
while ($my=mysql_fetch_array($res));
?>
|
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\TEHNOSTANDART\BLOCKS\read-tovar.php on line 8
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\TEHNOSTANDART\BLOCKS\read-tovar.php on line 16 | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 01:34)
| | ну так правельно, выж дважды выполняете $my=mysql_fetch_array($res);
а результат возращается единственный (по id)
уберите первую строку $my=mysql_fetch_array($res); но оставте её в while
или так:
<?php
$res=mysql_query("SELECT * FROM pozicii WHERE id_pozicii='$id'");
while($my=mysql_fetch_array($res)) {
....
}
?>
|
| |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 02:22)
| | А у меня, если дважды обращаться к mysql_fetch_array от одного и того же запроса, то в цикле просто отсутствует первая запись в массиве. Как буд-то её в БД нет... =)
А тут, возможно, нужно убрать кавычки вокруг $id
$res=mysql_query("SELECT * FROM pozicii WHERE id_pozicii=$id");
|
если, конечно, $id - числовое значение. | |
|
|
|
|
|
|
|
для: Freddie_X
(01.02.2008 в 02:28)
| | >А у меня, если дважды обращаться к mysql_fetch_array от одного и того же запроса, то в цикле просто отсутствует первая запись в массиве. Как буд-то её в БД нет... =)
> а результат возращается единственный (по id)
тоесть при первом запросе, данные просто пропадают, а следующих несуществует.
тут-то ошибка и вылетает. | |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 02:32)
| | > jbs
С кодом всё впринципе нормально, только правда незачем делать два mysql_fetch_array().
>demonich2004
Помоему у Вас здесь ошибка в самом запросе:
<? $res=mysql_query(\"SELECT * FROM pozicii WHERE id_pozicii='$id'"); ?>
|
Проверьте еще разок, точно ли у Вас есть:
Таблица - pozicii
или
Столбец - id_pozicii | |
|
|
|
|
|
|
|
для: Антоха
(01.02.2008 в 02:41)
| | В таблице Три поля
1-id
2-id-pozicii
3-poziciya_t | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 03:12)
| | Я не уж спать даже немогу !
Может есть альтернатива Этому коду? | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 03:12)
| | буду краток.
WHERE id_pozicii
id-pozicii
p.s. тоже неспится | |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 03:35)
| | >буду краток.
>WHERE id_pozicii
>id-pozicii
Скорее всего у demonic2004 это была опечатка, т.к. в mysql синтаксис не позволяет создавать с тире. Я конечно мало понимаю, может в каких версиях и можно, но лично у меня 5.1, в ней нельзя. | |
|
|
|
|
|
|
|
для: Антоха
(01.02.2008 в 03:41)
| | Убрал тире Ругается всеравно на теже АБшибки! =((( | |
|
|
|
|
|
|
|
для: Антоха
(01.02.2008 в 02:41)
| | ругаеццо на строку:
$my=mysql_fetch_array($res);
|
| |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 02:32)
| | >тоесть при первом запросе, данные просто пропадают, а следующих несуществует.
>тут-то ошибка и вылетает.
Ошибок не должно быть, если данных больше нет. | |
|
|
|
|
|
|
|
для: Антоха
(01.02.2008 в 02:45)
| | >Ошибок не должно быть, если данных больше нет.
согласен, просто вернёт false, туплю по чёрному
усё, я спать! | |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 02:32)
| | Сделал так:
<?php
include ("BLOCKS/connect.php");
if (isset($_GET['id_pozicii'])) {$id=$_GET['id_pozicii'];}
$res=mysql_query("SELECT * FROM pozicii WHERE id_pozicii=$id");
$my=mysql_fetch_array($res);
do
{
printf ("<p>%s</p><p class='tovar'>%s</p>",$my["id_pozicii"],$my["poziciya"]);
}
while ($my);
?>
|
Всеравно ругаеццо!
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampplite\htdocs\TEHNOSTANDART\BLOCKS\read-tovar.php on line 8
=-=-=-=-=-==-=-=-
на той странице откуда идё вызов этого скрипта
есть что-то похожее в коде но другие переменные!
это может както влиять?
Код со страницы вызывающей скрипт
==============================
<?php
include ("BLOCKS/connect.php");
$result=mysql_query("SELECT title,meta_d,meta_k,texts FROM settings WHERE page='tovar'");
$myrow=mysql_fetch_array($result);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="<?php echo $myrow['meta_d']; ?>">
<meta name="keywords" content="<?php echo $myrow['meta_k']; ?>">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title><?php echo $myrow ['title']?></title>
<link href="STYLE/Style.css" rel="stylesheet" type="text/css">
<link href="STYLES/Style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0">
<tr>
<td align="center" valign="top"><img src="IMAGE/logotip.GIF" width="690" height="80" class="main_border"></td>
</tr>
<tr>
<td height="270" valign="top"><table width="100%" height="272" border="0">
<tr>
<td width="21%" height="250" align="left" valign="top" class="left">
<?php include("BLOCKS/left-menu.php");?>
</td>
<td width="79%" align="center" valign="top">
<?php echo $myrow ['texts'];?>
<?php include("BLOCKS/read-tovar.php");?>
</td>
</tr>
</table></td>
</tr>
<tr>
<td height="22" align="center" valign="top" background="IMAGE/footer.GIF" class="main_border">Техностандарт 2008</td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 02:46)
| | Попробуй тогда так (убрав всё лишнее):
<?php
include "BLOCKS/connect.php";
if(isset($_GET['id_pozicii'])) $id = $_GET['id_pozicii'];
$res = mysql_query("SELECT * FROM pozicii WHERE id_pozicii=$id");
if(!$res) {
echo "Ошибка!<br>"
echo mysql_error();
}
?>
|
Если получил "Ошибка!" - значит, дело в самом запросе.
mysql_error() должна вывести:
Table 'имя_базы.pozicii' doesn't exist - т.е. таблица pozicii не существует!
или
Unknown column 'id_pozicii' in 'where clause' - неизвестный столбец, т.е. столбца с именем id_pozicii несуществует!
Попробуй... | |
|
|
|
|
|
|
|
для: Антоха
(01.02.2008 в 03:36)
| | Ошибка!
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 | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 03:44)
| | $id = $_GET['id_pozicii'];
а где ты id_pozicii методом get передаёш? <?php include("BLOCKS/read-tovar.php");?> | |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 03:51)
| | С другой страныцы идёт сцылка на другую страницу которая вызывает этот скрипт
СКРИП ГЕНЕРИРУЕТ СПИСОК С СЦЫЛКАМИ: на другую страницу которая вызывает это проблемный скрипт
<?php
include ("BLOCKS/connect.php");
$result=mysql_query("SELECT * FROM tovar");
$myrow=mysql_fetch_array($result);
do
{
printf ("<a href='tovar2.php?id=%s'</a><p class='tovar'>%s</p>",$myrow["id_tovar"],$myrow["name_tovar"]);
}
while ($myrow=mysql_fetch_array($result));
?>
|
| |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 03:52)
| | вот теперь, я точно пшёл спать и тебе советую 8) | |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 03:55)
| | Ну спасиб за отклик... Да наверно пойду посплю в 7 на работу вставать!!! | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 03:52)
| | В Этом скрипте не на чего не ругаеццо!!!
Он копия того только с другими переменными... | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 03:59)
| | ну ёёё...
короче, незабывай про mysql_error()
и сделай какой-нить слой для отладочной инфы
типа:
$qstr = "SELECT ....";
$res = mysql_query($qstr) or die("ошибка: ".mysql_error());
echo '<div><h3>$qstr</h3></div>'; | |
|
|
|
|
|
|
|
для: jbs
(01.02.2008 в 04:08)
| | Попробуй задать ID на нужное тебе значение вручную в скрипте:
<?php
...
$id=666;
...
?> | |
|
|
|
|
|
|
|
для: dimonich2004
(01.02.2008 в 01:25)
| |
<?php
include ("BLOCKS/connect.php");
$id = (isset($_GET['id_pozicii'])) ? (int)$_GET['id_pozicii'] : null;
if ($id) {
$res = mysql_query("SELECT * FROM `pozicii` WHERE `id_pozicii`=$id") or die(mysql_error());
if (mysql_num_rows($res) > 0) {
while($my = mysql_fetch_array($res)) {
echo $my['id_pozicii'].'<br />';
}
}
}
?>
|
| |
|
|
|