Вот код главной страницы:
<?php
$db = mysql_connect("localhost","link","password"); /* Подключаемся к базе */
mysql_select_db("link",$db);
$title = $_POST['title']; /* получаем данные с add.php */
$link = $_POST['link'];
$description = $_POST['description'];
$result = mysql_query("INSERT INTO site(title,link,description) VALUES ('$title','$link','$description')",$db); /* Записываем данные в базу */
$result = mysql_query("SELECT * FROM site",$db); /* получеам данные из базы */
$myrow = mysql_fetch_array($result);
do /* создаем цыкл для вывода всех данных из базы */
{
printf("<br>Сайт - %s<br>Названия - %s<br>Ссылка - %s<br>Описание<br>", $myrow['id'], $myrow['title'], $myrow['link'], $myrow['description']);
}
while($myrow = mysql_fetch_array($result));
?>
Код страницы add.php :
<?php
$db = mysql_connect("localhost","link","password");
mysql_select_db("firstbd",$db);
echo <<< HERE
<table border="0" class="table">
<tr>
<td>
<center><form action="index.php" method="post" name="form">
<div class="text">Название сайта (макс. 100 символов):</div><input name="title" type="text" size="50" maxlength="100"><br>
<div class="text">Ссылка на сайт (макс. 50 символов):</div><input name="link" type="text" size="50" maxlength="50"><br>
<div class="text">Описание сайта (макс. 1000 символов):</div><input name="description" type="text" size="50" maxlength="1000"><br>
<input name="submit" type="submit" value="Добавить"></center>
</form>
</td>
</tr>
</table>
HERE;
?>
Сначала было все номрально, данные получаем страница index.php и там они записываются в базу и потом выводятся на главную страницу. Но если обновить страницу то те самые данные опять заносятся в базу и выводятся на главную страницу те самые данные.
Как сделать так, что бы перед тем как добавить в базу данные, проверить их на уникальность? И как сделать что бы данные из формы приходили только тогда когда пользователь вводит их, а не когда обновляется главная страница?
Заранее спасибо.
Спустя 4 часа, 18 минут, 17 секунд (15.03.2010 - 00:55) silius написал(а):
1. Проверить на уникальность:
перед тем как ложишь данные в базу, сделай проверку есть ли такие данные в базе
SELECT ... WHERE ...
if($result=mysql_fetch_array){
такие данные существуют
exit
}
но ты уверен, что тебе уникальность нужна?
2. Чтобы после обновления повторно не сохранялось:
да возьми ты и влипи в конец header:
header(location...) и переправь кудЫ нибудь, вот твоя страница и обновиться
перед тем как ложишь данные в базу, сделай проверку есть ли такие данные в базе
SELECT ... WHERE ...
if($result=mysql_fetch_array){
такие данные существуют
exit
}
но ты уверен, что тебе уникальность нужна?
2. Чтобы после обновления повторно не сохранялось:
да возьми ты и влипи в конец header:
header(location...) и переправь кудЫ нибудь, вот твоя страница и обновиться
Спустя 2 минуты, 16 секунд (15.03.2010 - 00:58) silius написал(а):
на кой фиг в add.php соединение с базой открываешь?
Спустя 2 часа, 3 минуты, 56 секунд (15.03.2010 - 03:02) Bezdna написал(а):
Спустя 15 часов, 24 минуты, 46 секунд (15.03.2010 - 18:26) Awilum написал(а):
Данные пришедшие из add.php для добавления никак у вас не проверяются, это прямая угроза SQL-иньекции.
Внедрение SQL-кода
После добавления делаете редирект на любую страницу, хоть и на index.php
Внедрение SQL-кода
После добавления делаете редирект на любую страницу, хоть и на index.php
Спустя 18 минут, 13 секунд (15.03.2010 - 18:45) Игорь_Vasinsky написал(а):
Для обеспечения безопастности sql инъекций необходимо прогнать нанные через:
$post = htmlspecialchars($post); урезание html тегов
$post = addslashes($post); - экранировка (добавление \ перед ' )
$post = htmlspecialchars($post); урезание html тегов
$post = addslashes($post); - экранировка (добавление \ перед ' )
Спустя 2 минуты, 56 секунд (15.03.2010 - 18:47) Awilum написал(а):
если память мне не изменяет, то htmlspecialchars(); надо делать на выводе
на вводе надо юзать более новую функцию
mysqli
mysqli_real_escape_string();
mysql
mysql_real_escape_string();
на вводе надо юзать более новую функцию
mysqli
mysqli_real_escape_string();
mysql
mysql_real_escape_string();
Спустя 3 минуты, 33 секунды (15.03.2010 - 18:51) Игорь_Vasinsky написал(а):
как на вводе, на вводе данные тока JS можно цеплять, ты наверное имел ввиду при передаче и до записи.
Спустя 2 минуты, 11 секунд (15.03.2010 - 18:53) Awilum написал(а):
Игорь_Vasinsky
SELECT
INSERT
.
SELECT
INSERT
.
Спустя 2 минуты, 42 секунды (15.03.2010 - 18:56) Игорь_Vasinsky написал(а):
ну так по моему примеру они ещё раньше были обезопасены и не допущены в случае угрозы
Спустя 1 минута, 6 секунд (15.03.2010 - 18:57) silius написал(а):
Ребят, со строками много чего делать можно, и в этой теме всё не перечислить, особенно не зная что конкретно нужно, да и не в этом заключалась проблема, поэтому можно посоветовать справочник: http://www.php.su/functions/?page=cat_string думаю пригодится
Спустя 1 минута, 3 секунды (15.03.2010 - 18:58) Игорь_Vasinsky написал(а):
может быт...тока я предпочитаю давать ответ
Спустя 26 минут, 9 секунд (15.03.2010 - 19:24) koala написал(а):
Спасибо всем за советы и за сссылки, все прочитал =)
Все получается, но вот тут одно но.
Хочю сделать в скрипте запрос к базе и узнать последний id, потом создать переменные и каждой присвоить значения из базы (последнего id), ну там title link и т.д.
Пробовал одним способом но мне выводит только номер id и еще слова с номером. А мне нужно что бы номер id записывался в отдельную переменную потом сделать запрос к базе типа
Где $id - номер последней переменной. А потом уже сверить данные, и если данные одинаковые то прекратить работу скрипта.
Все получается, но вот тут одно но.
Хочю сделать в скрипте запрос к базе и узнать последний id, потом создать переменные и каждой присвоить значения из базы (последнего id), ну там title link и т.д.
Пробовал одним способом но мне выводит только номер id и еще слова с номером. А мне нужно что бы номер id записывался в отдельную переменную потом сделать запрос к базе типа
SELECT * FROM site WHERE id="$id"
Где $id - номер последней переменной. А потом уже сверить данные, и если данные одинаковые то прекратить работу скрипта.
Спустя 5 минут, 31 секунда (15.03.2010 - 19:30) Игорь_Vasinsky написал(а):
попробуй
ASC - сортируем по убыванию
LIMIT 1 - показываем последний
SELECT `id` FROM `site` ASC LIMIT 1
ASC - сортируем по убыванию
LIMIT 1 - показываем последний
Спустя 10 минут, 13 секунд (15.03.2010 - 19:40) koala написал(а):
Игорь_Vasinsky, спасибо но выводить Resource id #4 и при этом не правильно так как в базе больше 10 записей.
Мне нужно что бы выводило просто число, например 5.
Мне нужно что бы выводило просто число, например 5.
Спустя 23 минуты, 17 секунд (15.03.2010 - 20:03) Awilum написал(а):
$query = "SELECT * FROM `table` WHERE `id`='$page' LIMIT 1";
$result = $mysqli->query($query);
$data = $result->fetch_assoc();
echo $data['id'];
Спустя 10 минут, 14 секунд (15.03.2010 - 20:13) Игорь_Vasinsky написал(а):
SELECT * FROM `site` ASC LIMIT 0,1
через ассиоц. масиив в цикле получай
попробуй
мне просто у себя проверять некогда
через ассиоц. масиив в цикле получай
попробуй
мне просто у себя проверять некогда
$query = "SELECT * FROM `table` WHERE `id`='$page' LIMIT 1 ASC или DESC";
$result = $mysqli->query($query);
$data = $result->fetch_assoc();
echo $data['id'];
Спустя 35 минут, 47 секунд (15.03.2010 - 20:49) Awilum написал(а):
Игорь_Vasinsky
Цитата |
$query = "SELECT * FROM `table` WHERE `id`='$page' LIMIT 1 ASC или DESC"; |
какой смысл в этом запросе несет сортировка(отсортирует одну строчку LIMIT 1) ? если я получу тот ID который запросил.
Спустя 3 минуты, 38 секунд (15.03.2010 - 20:53) koala написал(а):
Все ровно не помогает =(
Выкладыаю полный код index.php :
Комментария пожалуйста опишите что где сделали, буду очень благодарен. Вроде простой скрипт а над ним парюсь уже второй день
Выкладыаю полный код index.php :
<html>
<head>
<title>Сайты</title>
</head>
<body>
<?php
include ("config.php");
$title = $_POST['title'];
$link = $_POST['link'];
$description = $_POST['description'];
$db = mysql_connect($hostname,$login,$password); /* коннекс к базе */
mysql_select_db("link",$db);
if ($title == true & $link == true & $description == true) /* если есть что то в title и т.д. */
{
$query = "SELECT * FROM `site` WHERE `id`='$page' LIMIT 1 DESC";
$data = mysql_fetch_assoc($query);
echo $data['id'];
if ($title_test == $title or $link_test == $link or $description_test == $description) /* Проверяем на кникальность */
{
$result = mysql_query("UPDATE site SET title='$title', link='$link', description='$description' WHERE id='$title_test' ASC LIMIT 1"); /* обновляем данные */
}
$result = mysql_query("INSERT INTO site(title,link,description) VALUES ('$title','$link','$description')",$db);
$result = mysql_query("SELECT * FROM site", $db);
$myrow = mysql_fetch_assoc($result);
$table = "<table border='1' align='center'>";
do
{
$table .= "<tr>";
$table .= "<td>".$myrow['title']."</td>";
$table .= "<td>".$myrow['link']."</td>";
$table .= "<td>".$myrow['description']."</td>";
$table .= "</tr>";
}
while($myrow = mysql_fetch_assoc($result));
$table .="</table>";
echo $table;
}
else
{
exit();
}
?>
</body>
</html>[php]
Вот add.php :
[php]<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Добавления сайта</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<?php
echo <<< HERE
<table border="0" class="table">
<tr>
<td>
<center><form action="index.php" method="post" name="form">
<div class="text">Название сайта (макс. 100 символов):</div><input name="title" type="text" size="50" maxlength="100"><br>
<div class="text">Ссылка на сайт (макс. 50 символов):</div><input name="link" type="text" size="50" maxlength="50"><br>
<div class="text">Описание сайта (макс. 1000 символов):</div><input name="description" type="text" size="50" maxlength="1000"><br>
<input name="submit" type="submit" value="Добавить"></center>
</form>
</td>
</tr>
</table>
HERE;
?>
<body>
</body>
</html>
Комментария пожалуйста опишите что где сделали, буду очень благодарен. Вроде простой скрипт а над ним парюсь уже второй день
Спустя 3 минуты, 49 секунд (15.03.2010 - 20:57) Awilum написал(а):
koala
первой строчкой
потом двигаться дальше...
первой строчкой
error_reporting(E_ALL);
потом двигаться дальше...
Спустя 40 минут, 11 секунд (15.03.2010 - 21:37) twin написал(а):
Ну вот на сколько терпежу хватило. Дальше вообще ужос.
Брось поповский курс, как малые дети всяку каку в рот тяните...
<?php
include ("config.php");
// Поставь тут это, что бы видеть, где ошибки
error_reporting(E_ALL);
// Это нужно делать так (если не нужен 0):
$title = !empty($_POST['title'])?$_POST['title']:NULL;
// Или так, если он возможен
$link = (isset($_POST['link']) && $_POST['link'] !='')?$_POST['link']:NULL;
// Тут сам
$description = $_POST['description'];
$db = mysql_connect($hostname,$login,$password); /* коннекс к базе */
mysql_select_db("link",$db);
// Почему так? Откуда там true? И что за операторы?
//if ($title == true & $link == true & $description == true) /* если есть что то в title и т.д. */
if ($title && $link && $description)
{
// Не нужно тут перезаписи. Сам и запутался.
// $query = "SELECT * FROM `site` WHERE `id`='$page' LIMIT 1 DESC";
// $data = mysql_fetch_assoc($query);
$result = mysql_query("SELECT * FROM `site`
WHERE `id`= ". (int)$page
) or die(mysql_error());
$data = mysql_fetch_assoc($result);
echo $data['id'];
Брось поповский курс, как малые дети всяку каку в рот тяните...
Спустя 1 час, 40 минут, 54 секунды (15.03.2010 - 23:18) koala написал(а):
twin, спасибо. Скачал курсы Попова... ради интереса. Потом захотел серьезно заниматься PHP =)
Спустя 3 дня, 11 часов, 28 минут, 29 секунд (19.03.2010 - 10:46) kaktus2010 написал(а):
Привет всем!
Кто знает подскажите.
У меня проблема. Пытаюсь создать базу данных из php, но ничего не получаетя.
@$db=mysql_pconnect("localhost", "root");
mysql_create_db("jygu");
Выдает ошибку:
Fatal error: Call to undefined function mysql_create_db()
В чем проблема?
Кто знает подскажите.
У меня проблема. Пытаюсь создать базу данных из php, но ничего не получаетя.
@$db=mysql_pconnect("localhost", "root");
mysql_create_db("jygu");
Выдает ошибку:
Fatal error: Call to undefined function mysql_create_db()
В чем проблема?
Спустя 26 минут, 32 секунды (19.03.2010 - 11:13) silius написал(а):
kaktus2010
а где пароль когда коннектишься?
а где пароль когда коннектишься?
Спустя 3 часа, 29 минут, 4 секунды (19.03.2010 - 14:42) kaktus2010 написал(а):
SILIUS
Я работаю в денвере и пока только на своем компе поэтому пока без пароля.
Потом сделаю.
Я работаю в денвере и пока только на своем компе поэтому пока без пароля.
Потом сделаю.
Спустя 13 минут, 27 секунд (19.03.2010 - 14:55) Игорь_Vasinsky написал(а):
@$db=mysql_pconnect("localhost", "root", "");
на денвере так на денвере, даже если как ты говоришь что не используешь пароль - так скажи об этом mysql_pconnect
3 аргумента для подключения к базе: сервер - логин - пароль (даже если пустой)
на денвере так на денвере, даже если как ты говоришь что не используешь пароль - так скажи об этом mysql_pconnect
3 аргумента для подключения к базе: сервер - логин - пароль (даже если пустой)
Спустя 42 минуты, 57 секунд (19.03.2010 - 15:38) Игорь_Vasinsky написал(а):
Спасибо Игорь, всё получилось...... не стоит, пожайлуста.
Спустя 1 час, 14 минут, 26 секунд (19.03.2010 - 16:53) silius написал(а):
Игорь_Vasinsky
Спустя 1 час, 43 минуты, 45 секунд (19.03.2010 - 18:36) koala написал(а):
Сразу после вопроса предыдущего пользователя я попробовал создать базу, но у меня вылезла ошибка, хотя все делал по книге.
С базой есть коннекст, но вот с 4 строкой проблемы...
<?php
error_reporting(E_ALL);
$db = mysql_connect("localhost","link","password");
mysql_create_db("test_db",$db);
?>
С базой есть коннекст, но вот с 4 строкой проблемы...
Спустя 6 часов, 2 минуты, 52 секунды (20.03.2010 - 00:39) silius написал(а):
Попробуй сделать так:
и напиши ошибку, которую выбьет
<?php
$db = mysql_connect("localhost","link","password") or
die(mysql_errno($db).mysql_error($db));
mysql_create_db("test_db",$db) or
die(mysql_errno($db).mysql_error($db));
?>
и напиши ошибку, которую выбьет
Спустя 1 час, 24 минуты, 35 секунд (20.03.2010 - 02:04) kaktus2010 написал(а):
Цитата (Игорь_Vasinsky @ 19.03.2010 - 11:55) |
@$db=mysql_pconnect("localhost", "root", ""); на денвере так на денвере, даже если как ты говоришь что не используешь пароль - так скажи об этом mysql_pconnect 3 аргумента для подключения к базе: сервер - логин - пароль (даже если пустой) |
Все равно ошибку выдает. Пустой пароль не помагает.
Спустя 9 часов, 26 минут, 28 секунд (20.03.2010 - 11:30) koala написал(а):
silius, вот ошибка:
Fatal error: Call to undefined function mysql_create_db() in Q:\home\localhost\www\xak\index.php on line 6
Спустя 59 секунд (20.03.2010 - 11:31) koala написал(а):
kaktus2010, зайди в phpmyadmin, там нажми на ссылку привелегии и создай нового пользователя с правами администратора и дай ему пароль и т.д.
Спустя 7 часов, 20 минут, 51 секунда (20.03.2010 - 18:52) koala написал(а):
if (isset($_POST['ok']))
{
$text1 = $_POST['text1']; //создаем переменные и присваиваем им значения из формы
$text2 = $_POST['text2'];
$text3 = $_POST['text3'];
$result = mysql_query("INSERT INTO site(site_name,site_link,description) VALUES ($text1,$text2,$text3)",$db); // Записываем данные в базу
header('location: '. $_SERVER['PHP_SELF']); // Обновляем страницу
}
При запуске скрипта происходит ошибка:
Notice: Undefined variable: res in Q:\home\localhost\www\xak\add.php on line 47
Собственно вопрос: можно ли так делать? Я имею ввиду использовать if else для обращения к базе.
Спустя 4 минуты, 48 секунд (20.03.2010 - 18:57) Adil написал(а):
не можно, а нужно
Спустя 45 минут, 24 секунды (20.03.2010 - 19:42) Игорь_Vasinsky написал(а):
Цитата |
Notice: Undefined variable: res in Q:\home\localhost\www\xak\add.php on line 47 |
так ты не определил переменную res
или опечатался и вместо $res вписал res
а вообще воспользуйся советом twinа и используй говорящие названия как функций так и переменных
$res - $result
Спустя 1 минута, 41 секунда (20.03.2010 - 19:44) Игорь_Vasinsky написал(а):
Цитата |
xak\add.php |
что то страшное готовится появиться на свет
Спустя 4 минуты, 10 секунд (20.03.2010 - 19:48) Игорь_Vasinsky написал(а):
Потом:
ты просто не правильно поставил вопрос.
Тут ты не: "использовать if else для обращения к базе"
а ставишь условие: если "isset($_POST['ok']"
то уже записываешь данные в базу.
ты просто не правильно поставил вопрос.
Тут ты не: "использовать if else для обращения к базе"
а ставишь условие: если "isset($_POST['ok']"
то уже записываешь данные в базу.
Спустя 23 минуты, 12 секунд (20.03.2010 - 20:11) koala написал(а):
Игорь_Vasinsky, проблема была в кавычках ''.
Вот правильный код:
Вот правильный код:
if (isset($_POST['ok']))
{
$text1 = $_POST['text1'];
$text2 = $_POST['text2'];
$text3 = $_POST['text3'];
$result = mysql_query("INSERT INTO site(site_name,site_link,description) VALUES ('$text1','$text2','$text3')",$db);
header('location: '. $_SERVER['PHP_SELF']);
Спустя 8 минут, 4 секунды (20.03.2010 - 20:19) Игорь_Vasinsky написал(а):
Цитата |
header('location: '. $_SERVER['PHP_SELF']); |
а зачем обновляешь странирцу, будет попытка (а скорее всего перезапись) запись повторно
Спустя 51 минута, 33 секунды (20.03.2010 - 21:11) koala написал(а):
Игорь_Vasinsky, перезаписи нет, это делаю для того что бы не было перезаписи =)
долго искал способы, самый подходящий делать редирект на главную, тоисть на add.php
долго искал способы, самый подходящий делать редирект на главную, тоисть на add.php
Спустя 23 минуты, 11 секунд (20.03.2010 - 21:34) Игорь_Vasinsky написал(а):
Может напрасный спор, но может я чёто путаю:
$_SERVER['PHP_SELF'] - сама страница на которой счас юзер
add.php - обработчик формы
вот и получается что данные переданные из формы обрабатываются на add.php и записываются в базу там же, потом страница обновляется и происходит тоже самое... или нет ?
$_SERVER['PHP_SELF'] - сама страница на которой счас юзер
add.php - обработчик формы
вот и получается что данные переданные из формы обрабатываются на add.php и записываются в базу там же, потом страница обновляется и происходит тоже самое... или нет ?
Спустя 8 минут, 11 секунд (20.03.2010 - 21:42) twin написал(а):
Цитата |
или нет ? |
нет. POST уже не будет при втором заходе.
Спустя 8 минут, 17 секунд (20.03.2010 - 21:51) Игорь_Vasinsky написал(а):
twin спасиб, значит это и есть самый эффективный способ защиты от F5 ?
Спустя 55 минут, 30 секунд (20.03.2010 - 22:46) koala написал(а):
Игорь_Vasinsky, насчет самого эфективного не знаю, но мне помогает =) Данные заново не передаются.
Спустя 24 минуты, 43 секунды (20.03.2010 - 23:11) twin написал(а):
Игорь_Vasinsky
Цитата |
twin спасиб, значит это и есть самый эффективный способ защиты от F5 ? |
от F5 да, но есть еще история и кнопка "вернуться". По этому от флуда это не спасет в полной мере.
Спустя 2 минуты, 51 секунда (20.03.2010 - 23:14) Игорь_Vasinsky написал(а):
twin киньте пожалуста ссылку, я знаю у вас должна быть статья на эту тему. спасибо.
Спустя 3 часа, 30 минут, 59 секунд (21.03.2010 - 02:45) kaktus2010 написал(а):
Цитата (koala @ 20.03.2010 - 08:31) |
kaktus2010, зайди в phpmyadmin, там нажми на ссылку привелегии и создай нового пользователя с правами администратора и дай ему пароль и т.д. |
Создать конечно можно, но считывание и запись в базу данных у меня при таком написании работает.
db=mysql_pconnect("localhost", "root");
Не работает только создание базы данных.
Спустя 23 часа, 22 минуты, 30 секунд (22.03.2010 - 02:07) Guest написал(а):
Все получилось вот в таком написании:
@$db=mysql_pconnect("localhost", "root");
$query="create database ".$namebd;
$r=mysql_query($query);
где $namebd -имя базы данных задается ранее.
@$db=mysql_pconnect("localhost", "root");
$query="create database ".$namebd;
$r=mysql_query($query);
где $namebd -имя базы данных задается ранее.
Спустя 2 минуты, 47 секунд (22.03.2010 - 02:10) kaktus2010 написал(а):
Цитата (Guest @ 21.03.2010 - 23:07) |
Все получилось вот в таком написании: @$db=mysql_pconnect("localhost", "root"); $query="create database ".$namebd; $r=mysql_query($query); где $namebd -имя базы данных задается ранее. |
Забыл войти
Спустя 20 часов, 22 минуты, 11 секунд (22.03.2010 - 22:32) koala написал(а):
$total_base_number = mysql_query("SELECT count(*) FROM site",$db);
Запросом к базе получаю количество записей в базе.
Пытаюсь вывести на экран количество записей:
echo 'В базе '. $total_base_number .'На страницу выведено '. $total_page .' сайтов.';
Но почему то выводится Resource id #6, при этом записей в базе намного больше. Кто то встречался с такой проблемой?
Спустя 7 минут, 23 секунды (22.03.2010 - 22:40) silius написал(а):
По такому запросу ты получишь полное количество записей(не только в столбце, ну и в строках) - это получиться матрица:
Например:
id name
1 a
2 b
3 c
4 d
ты получишь не 4, а 8 если нужно 4, то...
если 8, то аналогично, только в count замени id на *, как у тебя стоит.
Например:
id name
1 a
2 b
3 c
4 d
ты получишь не 4, а 8 если нужно 4, то...
$total_base_number = mysql_query("SELECT count(id) FROM site",$db) or die ("Error");
$result=mysql_fetch_row($total_base_number);
echo 'В базе: '. $result.".";
если 8, то аналогично, только в count замени id на *, как у тебя стоит.
Спустя 14 минут, 58 секунд (22.03.2010 - 22:55) koala написал(а):
Выводит: В базе Array
Наверно что то не так.
Наверно что то не так.
Спустя 1 минута, 53 секунды (22.03.2010 - 22:56) silius написал(а):
koala
извеняюсь, забыл. Пробуй
извеняюсь, забыл. Пробуй
...
echo 'В базе: '. $result[0].".";
Спустя 46 секунд (22.03.2010 - 22:57) Nikitian написал(а):
Цитата (silius @ 22.03.2010 - 19:40) |
По такому запросу ты получишь полное количество записей(не только в столбце, ну и в строках) - это получиться матрица: |
Чушь несёте. Count() возвращает число, либо массив чисел, если используется группировка. Здесь группировки нет, поэтому будет одно число - количество записей в таблице. Если объяснять на примере pma, то вернётся количество строк. Столбцы нет смысла считать, ибо в таблице в каждой записи их одинаковое количество.
Спустя 4 минуты, 43 секунды (22.03.2010 - 23:02) silius написал(а):
Nikitian
ага, и правда, только что попробывал. Странно, как то ставил *, так оно мне не то что нужно показало
ага, и правда, только что попробывал. Странно, как то ставил *, так оно мне не то что нужно показало
Спустя 6 минут, 25 секунд (22.03.2010 - 23:08) koala написал(а):
silius, спасибо, получилось. И заодно обьясните, зачем писать $result[0] а не например $result[1] ?
Спустя 10 минут, 30 секунд (22.03.2010 - 23:19) silius написал(а):
koala
$result - в твоём случае это массив, у которого 1-н элемент, а у массивов(если не указываем их вручную) начинаются с 0.
если бы было к примеру:
$sqlquery=mysql_query("SELECT id, name FROM table") or die ("Error");
$result=mysql_fetch_row($sqlquery);
в этом случае id мы можем взять по адресу $result[0], а name - $result[1]
Вот такие пироги
$result - в твоём случае это массив, у которого 1-н элемент, а у массивов(если не указываем их вручную) начинаются с 0.
если бы было к примеру:
$sqlquery=mysql_query("SELECT id, name FROM table") or die ("Error");
$result=mysql_fetch_row($sqlquery);
в этом случае id мы можем взять по адресу $result[0], а name - $result[1]
Вот такие пироги
Спустя 30 минут, 51 секунда (22.03.2010 - 23:50) koala написал(а):
Понятно. На будущие буду знать =)
_____________
Vi Veri Veniversum Vivus Vici