|
|
|
| У меня не выодятся данные, помогите пожалуста
Вот скрипт который я использую:
<form method=post>
<input name='name'>
<input type=submit value="Search">
</form>
Записанные ообщения:
<?php
$_POST['name'] = mysql_escape_string($_POST['name']);
require_once("config.php");
$query = "SELECT * FROM $_POST[name]";
$_POST['name'] = mysql_query($query);
if(!$_POST['name']) exit(mysql_error());
if(mysql_num_rows($_POST['name']))
{
while($table = mysql_fetch_array($_POST['name']))
{
echo $table['field']."<br>";
}
}
?>
|
| |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 10:41)
| |
<form method=post>
<input name='name'>
<input type=submit value="Search">
</form>
Записанные ообщения:
<?php
$n = mysql_escape_string($_POST['name']);
require_once("config.php");
$query = "SELECT * FROM ".$n;
$quer = mysql_query($query);
if(!empty(mysql_error())){die(mysql_error(););}
if(mysql_num_rows($quer)<0) {die();}
while($table = mysql_fetch_array($quer))
{
echo $table['field']."<br>";
}
?>
|
[поправлено модератором] | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 10:46)
| | Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/local/www/адрес.ru/WWW/reading.php on line 20
20 строка:
echo $table['field']."<br>";
|
| |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 10:50)
| | Чтото тут я ошибки не вижу..
А строки 18-22 можно?
Это теже что и у меня? | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 10:41)
| | А они имеются в таблице $_POST[name] - какова структура этой таблицы? В ней есть поле field? | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 11:32)
| | да помоему | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 11:32)
| | To lexal: "по моему" - это не хорошо
To cheops: А он не должен выдать undefined index 'field'
А не синтакс ерор.. | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 11:35)
| | Fatal error: Can't use function return value in write context in /usr/local/www/адрес.ru/WWW/reading.php on line 15
когда я использовал:
<form method=post>
<input name='name'>
<input type=submit value="Search">
</form>
Записанные ообщения:
<?php
$_POST['name'] = mysql_escape_string($_POST['name']);
require_once("config.php");
$query = "SELECT * FROM $_POST[name]";
$_POST['name'] = mysql_query($query);
if(!$_POST['name']) exit(mysql_error());
?>
| \
15 строка:
if(!$_POST['name']) exit(mysql_error());
|
| |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 11:39)
| | не то | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 11:40)
| | Fatal error: Can't use function return value in write context in /usr/local/www/testing.na.ru/WWW/reading.php on line 15
приэтом коде:
<form method=post>
<input name='name'>
<input type=submit value="Search">
</form>
Записанные ообщения:
<?php
$n = mysql_escape_string($_POST['name']);
require_once("config.php");
$query = "SELECT * FROM ".$n;
$quer = mysql_query($query);
if(!empty(mysql_error())){die(mysql_error(););}
if(mysql_num_rows($quer)<0) {die();}
while($table = mysql_fetch_array($quer))
{
echo $table['field']."<br>";
}
?>
|
15 строка:
if(!empty(mysql_error())){die(mysql_error(););}
|
| |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 11:43)
| |
Там была лишняя точка с запятой. | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 11:44)
| | а, точно, ща посмотрю | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 11:45)
| | непомогло | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 11:39)
| | Что вы вводите в качестве $_POST[name]?
Выведите SQL-запрос в окно браузера
<?php
echo "SELECT * FROM $_POST[name]";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 11:47)
| | $_POST[name] - имя табляцы, которое задаёт юзер | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 11:50)
| | Какое имя задаёте вы? Вам следует очень жёсткую проверку осуществлять, так как если будет введено имя не существующей таблицы - скрипт завершится ошибкой. Какова цель разрабатываемого скрипта? | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 11:54)
| | надо, что б когда указывалась существующая таблица, она отображалась, а несуществующая, возвращались к полю ввода | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 12:00)
| | Можно воспользоваться следующим скриптом
<?php
if(!empty($_GET['no_table'])) echo "Таблица не существует, попробуйте другое имя<br>";
?>
<form method=post>
<input name='name'>
<input type=submit value="Search">
</form>
<?php
if(!empty($_POST))
{
// Устанавливаем соединение с базой данных
require_once("config.php");
// Экранируем спец-символы
if (!get_magic_quotes_gpc())
{
$_POST['name'] = mysql_escape_string($_POST['name']);
}
// Проверяем имеется ли такая таблица в базе данных
$query = "SHOW TABLES LIKE '$_POST[name]'";
$tbl = mysql_query($query);
if(!$tbl)
{
// Возвращаемся к форме, сообщая, что таблицы нет
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=$_SERVER[PHP_SELF]?no_table=no_table'>
</HEAD></HTML>";
exit();
}
$query = "SELECT * FROM $_POST[name]";
$tbl = mysql_query($query);
if(!$tbl) exit("ошибка".mysql_error());
if(mysql_num_rows($tbl))
{
echo "Записанные сообщения<br>";
while($table = mysql_fetch_array($tbl))
{
// Поле field - должно обязательно присутствовать в таблице
echo "Поле field - ".$table['field']."<br>";
}
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 12:30)
| | Записанные сообщения
Поле field -
это он пишет когда я ввожу имя таблицы | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 13:14)
| | Значит таблица пустая. | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 13:26)
| | но при заполнении он пишет типа всё ок, данные знесены | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 13:45)
| | конечно стоило бы проверить табрицу, но у меня phpMyAdmin отказывается работать | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 13:14)
| | В таблице точно имеется поле field? | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 14:52)
| | Да, точно, посмотрел | |
|
|
|
|
|
|
|
для: lexal
(23.06.2006 в 17:43)
| | А есть возможность воспользоваться другим клиентом mysql.exe или MySQL-Front, для проверки запроса? | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 23:36)
| | у меня тока phpMyAdmin | |
|
|
|
|
|
|
|
для: lexal
(24.06.2006 в 12:51)
| | А ты много платишь за трафик?
Скачал бы давно.. | |
|
|
|
|
|
|
|
для: lexal
(24.06.2006 в 12:51)
| | А в phpMyAdmin посмотрите, после оператора INSERT появляются записи? Т.е. таблица не пустая сейчас? | |
|
|
|
|
|
|
|
для: valenok
(23.06.2006 в 11:35)
| | >To cheops: А он не должен выдать undefined index 'field'
>А не синтакс ерор..
Смотря как настроено, если php.ini не изменялся, то да, должно бы... | |
|
|
|
|
|
|
|
для: cheops
(23.06.2006 в 11:55)
| | Попробуй так,может поможет, привожу на своём примере.
<?
@mysql_connect("$cfconf5", "$cfconf6", "$cfconf7") or die("Нет связи с сервером БД!");
@mysql_select_db("$cfconf6") or die("Нет связи с БД!");
$snew4="SELECT nname,nnew FROM hr_news WHERE nid = $new";
$snew5 = mysql_query($snew4);
$tpn2 = 0;
while ($tpn2 < mysql_numrows($snew5)) :
$nv4 = mysql_result($snew5, $tpn2, 'nname');
$nv5 = mysql_result($snew5, $tpn2, 'nnew');
$tpn2++;
echo"
<FIELDSET>
<LEGEND><b>« $nv4 »</b></LEGEND>
<br><table border='0' width='100%'>
<tr>
<td width='589'>
<p align='center'><i>$nv5</i></p>
</td>
</tr>
</table><center>
__________________________________<br>
<b><A HREF='javascript:history.back()'>« в раздел новостей »</a></b></center><br>
</FIELDSET>
";endwhile;
mysql_close();
?>
|
| |
|
|
|