MySQL в PHP

Dareczek

Новичок
Здравствуйте все. Я сдесь новый, если что извините, но я не нашел похожей темы. Хочу спросить, сработает ли mysql функция если я ее напишу так:
$variable = mysql_connect(а сдесь паль, логин итд.)
я имелл ввиду, я ведь загнал ее в переменную, но она вроде отрабатывает. Так и должно быть?
 

Фанат

oncle terrible
Команда форума
ты не загоняешь функцию в переменную. а присваиваешь переменной результат работы функции.
а сама функция осталась там же, где и была.
 

Dareczek

Новичок
аааа. Спасибо. Т.е я верно понял если я напишу $variable = mysql_connect(а сдесь паль, логин итд.) то я сделаю connenct к БД? Просто интересно получается. Если я сделаю $a = print 8; Он резултат выведет. Только теперь понял что переменная отрабатывает сразу когда ее напишеш. Я думал что он просто запомнил что-то и нужно потом вывести это. Еще раз спасибо вам
 

Dareczek

Новичок
И возник еще один вопрос. Есть в БД primary key и естественно с автроинкрименом. Но если я удалью все строки из таблицы БД и добавьлю новую запись, тогда тот primary key будет не 0, а допустим 16. Как делать primary key на 0 сбить?
 

Фанат

oncle terrible
Команда форума
Никак. Это классическая ошибка всех начинающих.
Это все равно что если бы у тебя в классе был Петя Иванов, а потом его перевели в другую школу. А его имя отдали тебе - ну, чтобы зря не простаивало.

primary key - это уникальный идентификатор. что означает, что он может принадлежать одной и только одной строке.
 

Dareczek

Новичок
просто интерестно как тогда сделать такую задачу. Например я пишу "новость 1", цифру беру из primary key. Но если у меня новостей нету (я их удалил), а потом опять добавил, и пишет что это новость 20
 

fixxxer

К.О.
Партнер клуба
не брать цифру из primary key

это просто уникальный идентификатор. с таким же успехом там могли бы быть не 1, 2, 3, 4, а скажем 405732059328457, 192423841927841274, 213487256198476523 и 98127340917234. последовательность там для простоты реализации, не более.

если нужна зачем-то в базе последовательная нумерация, ее надо делать самостоятельно.

хотя обычно на самом деле она не нужна - просто выводишь цифры прямо в коде вывода. $i++ банальный.
 

Dareczek

Новичок
Почему не работает скрипт? Вот он: $hostname = 'localhost';
$username = 'root';
$password = '';
$dbName = 'photo';

mysql_connect($hostname, $username, $password);
mysql_select_db($dbName);
$sql = "INSERT INTO `photo`.`photos` (
`id` ,
`name` ,
`views`
)
VALUES (
NULL , 'asdf', '0'
);";
$result = mysql_query($sql);
 

Dareczek

Новичок
100 раз обновлял не работала, теперь обновил все заработало... интересно ))
 

Dareczek

Новичок
Вот есть маленькая функция
$sql_2 = "SELECT id
FROM `photos`";
$ab = mysql_query($sql_2);
$c = mysql_fetch_row($ab);
В базе есть 10 строчек, т.е если теперь посмотреть на переменную $c в ней должно быть 10 записей. НО там только один, почему? может $sql_2 плохо написан.
 

fixxxer

К.О.
Партнер клуба
Можно даже в мануал не смотреть. Надо понять, что разработчики php называют функции не от балды (типа как $sql_2, $ab или $c), а осмысленно. И подумать, что должна делать функция с именем mysql_fetch_row.
 

Dareczek

Новичок
Я имел в виду не то.
$result = mysql_query("SELECT * FROM messages");
$date = mysql_fetch_assoc($result);
var_dump($date);
И сам вар дамп покажет что там только ОДНА запись. А если выводить все то покажет что все.
 

Dareczek

Новичок
Приношу свои извинения. Я не поставил цикла while для того чтобы увидеть все записи. Еще раз извиняюсь
 

Фанат

oncle terrible
Команда форума
ты не извиняйся, а лучше обрати внимание на шпильку про названия от балды ;)
 

Dareczek

Новичок
Опять беда ((( Смотрите
PHP:
while(($file = readdir($abc)) !== false)
	{
		if($file == '.')
		{
			echo '';
		}
		elseif($file == '..')
		{
			echo '';
		}
		else
		{
		$sql_2 = "SELECT id
		FROM  photos";
		$ab = mysql_query($sql_2);
		$c = mysql_fetch_row($ab);
		var_dump($c);
		}
	}
	closedir($abc);
Вар дамп показывает только одну запись. Я хочу дальше ссылку выводить типо так
echo "<a href =\" photo.php?id=$c[0]\"><img src=\"img_small/$file\" ></a>";
но тогда id=$c[0] всегда равен только одной записи в бд...
 

Фанат

oncle terrible
Команда форума
Для начала нажим ссылку "редактировать" под своим сообщением, потом "расширенный режим",
и освой кнопку "PHP" для оформления кода
 
Сверху