Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: PHP + MySQL [3]
ТвойWeb » WebMaster класс » PHP/Perl » PHP + MySQL

Страниц (6): « 1 2 [3] 4 5 6 »
 

21. Furax - 14 Марта, 2008 - 11:43:28 - перейти к сообщению
Литерал - постоянное выражение определённого типа ("Вася", 14, 0.314159e1, false).

isSet() возвращает true, если аргумент - переменная, которая была инициализирована в скрипте (самим скриптом или, как в случае с GET-, POST- и т. п. переменными - окружением скрипта). А вообще, по всем функциям есть справка на php.net, там же есть ссылки на частично русскоязычную оффлайн-версию руководства.

Кодировка? Просто надо читать и писать в базу из скриптов, работающих в одной и той же кодировке. Если речь идёт о PHPMyAdminе, то там тоже всё настраивается парой ударов в бубен (в разных версиях бубен разный). У меня, например, скрипты чата работают в utf-8 без всяких проблем; MyAdmin не настраивал, в нём кракозябры, ну да и пёс с ними.
22. Systemnik - 14 Марта, 2008 - 11:45:33 - перейти к сообщению
Так.. еще раз таблица у меня в вин 1251 сай тоже в вин 1251.. видимо конект между мускулом и сайтов не вин 1251 ка это исправить? Ведь есть какой то скул запрос...
23. Furax - 15 Марта, 2008 - 01:08:17 - перейти к сообщению
Systemnik
Что видишь, скажем, после такого запроса (таблицу сам выберешь)?
CODE:
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=windows-1251">
</head>
<body>
<?php

$str = 'Проверка кодировки';
echo "$str<br>";

//Подключаемся к БД
mysql_query("INSERT INTO `table`(`id`, `text`) VALUES (1, '$str')");
$result = mysql_query('SELECT text FROM `table` WHERE `id` = 1');
$str = mysql_fetch_row($result);
echo $str[0];

?>
</body>
</html>
24. Systemnik - 15 Марта, 2008 - 02:08:42 - перейти к сообщению
"Проверка кодировки" странно.. почему так..
пхп майадмин показывает оПНБЕПЙЮ ЙНДХПНБЙХ
а те записи в эой же таблице которые я делал через него нормальные.. значит это пхп май админ записывает анные в неправильно для моих скриптов кодировке Огорчение
Как пофиксить?

А вот еще вопрос почему вы в вашем скул запросе где переменная засунули в ' '
а 1 незатолкниули?

Если лиразница между символами ` и ' " в запросе или моно использовать только ` ?

И еще подскажите пожалуйста запрос для удаления определенной строки из бд..
определяя её по id как сделать? Огорчение
25. Furax - 15 Марта, 2008 - 07:22:43 - перейти к сообщению
Systemnik
А PHPMyAdmin вообще нужен? Лучше добавлять сразу из своего скрипта - меньше проблем будет на сервере. А вообще, настраиваются кодировки таблиц и сопоставление соединения. Занеси из скрипта в базу данные в win-1251 и тыкай все настройки подряд - когда увидишь русский текст, значит, всё мазёво.

1 - это число, зачем его в кавычки заключать? В SQL в прямых кавычках обычно сидят строки, в обратных - имена таблиц и столбцов.

Удаление - 'DELETE FROM `table` WHERE `id` = 123 LIMIT 1'. LIMIT лучше писать всегда от греха подальше...
26. Systemnik - 16 Марта, 2008 - 05:40:31 - перейти к сообщению
Цитата:
1 - это число, зачем его в кавычки заключать?

Так вопрос мне теперь во всех языках (пхп джаваскрипт скул перл)
писать цифры без кавычек (100 200 56 99 итд)??
А почему переменные тогда в кавычках? Растерялся
Цитата:
Лучше добавлять сразу из своего скрипта

Я написал админку Хорошо ток вот она удалять и создавать может и все Растерялся как редактироавние сделать.. причем не прсто редактирование а что бы например в екстовое поле старое значение загружалось..
27. Furax - 16 Марта, 2008 - 06:06:50 - перейти к сообщению
Systemnik пишет:
Так вопрос мне теперь во всех языках (пхп джаваскрипт скул перл)
писать цифры без кавычек (100 200 56 99 итд)??
Смотря какой тип данных ты хочешь иметь. Лично я не знаю языка, в котором бы литералы численных типов писались в кавычках. Кавычки подразумевают строку (в JS это String, в PHP - string, в С - const char* и т. д.).

Systemnik пишет:
А почему переменные тогда в кавычках?
Не понял? Ты про обратные кавычки вокруг имён столбцов? Чтобы SQL знал, что это имена столбцов (таблиц, etc.). А если вот про это:
Цитата:
"INSERT INTO `table`(`id`, `text`) VALUES (1, '$str')"
То это, опять же, чтобы получился строковый литерал.

Почитай что-нибудь на тему типов данных, а то у тебя, я вижу, по этому поводу каша в голове.
28. Systemnik - 16 Марта, 2008 - 06:49:51 - перейти к сообщению
Я так понял когда в скриптах пишут

CODE:
@mail($to, $subj, $text, $from, $headers);

это неправильно надо писать так
CODE:
@mail('$to', '$subj', '$text', '$from', '$headers');


??

Цитата:
по этому поводу каша в голове.

Ой да у меня много по каким поводам каша в голове Огорчение
ничего, я научусь самое главное - желание Улыбка
Цитата:
Почитай что-нибудь

А у вас ненайдется ссылочки? Растерялся
29. Furax - 16 Марта, 2008 - 07:39:29 - перейти к сообщению
Systemnik пишет:
Я так понял когда в скриптах пишут
CODE:
@mail($to, $subj, $text, $from, $headers);
это неправильно надо писать так
CODE:
@mail('$to', '$subj', '$text', '$from', '$headers');
Неправильно понял.

В большинстве языков с сишной нотацией (к которым относятся и PHP, и JavaScript) правила таковы: в кавычки заключается набор символов, который компилятор (или интерпретатор) должен считать не программным кодом, а строкой. Например, если написать на том же PHP
CODE:
echo Hello;
То PHP попробует вывести значение константы по имени Hello, которую можно определить ранее функцией define(). (Есть, правда, одна тонкость: если такой константы нет, интерпретатор создаст её сам и присвоет ей строковое значение 'Hello', так что если error_reporting отключен, ты и не заметишь, что произошла манипуляция с константами.)

Если же написать:
CODE:
echo 'Hello';
То интерпретатор поймёт, что Hello - это строка, и выведет именно эту строку (без кавычек!).

Дальше начинаются тонкости. JavaScript не видит разницы между строкой в одинарных кавычках и строкой в двойных (за исключением того, что в строке в одинарных кавычках можно свободно использовать двойные и наоборот). C/C++ считает строкой (или, если быть точным, const char*ом) только строку в двойных кавычках, а содержимое одинарных относит к символьному типу (const char) и требует, чтобы там стоял только один символ. PHP относит к строковому типу содержимое обоих типов кавычек, но есть разница в обработке: так, в двойных кавычках осуществляется подстановка значений переменных вместо их имён, а в одинарных - нет. Попробуй разобраться с кодом:
CODE:
<?php
$a = 'Вася';

print '$a ушёл гулять.';
print '<br>';
print "$a ушёл гулять.";
?>


Строки, заключённые в кавычки, называются строковыми литералами, также как числа, встречающиеся в коде, - численными.

С другой стороны, если присвоить строку переменной (как в предыдущем примере делалось с переменной $a), то переменная будет относиться к строковому типу. Обрати внимание, литералом она уже не является. Так, все GET-, SET-, COOKIE- и т. п. переменные относятся к строковому типу.

Если функция требует строки в качестве своих аргументов, то ей можно передать как литерал (что-то в кавычках), так и переменную, содержащую строку. Так что в твоём примере нет смысла в кавычках, если переменные и так относятся к строковому типу. Кроме того, в одинарных кавычках подстановка значений переменных не осуществляется.

Всё же иногда имеет смысл писать имена переменных в кавычках. Это один из способов привести переменную к строковому типу. Например, следующий код выясняет, содержится ли семёрка в первых знаках десятичной записи синуса числа 0.3:
CODE:
$sin = sin(0.3); //Обрати внимание: переменная $sin - числового типа!
$str = "$sin"; //$str - уже строка

if (strpos($str, '7') !== FALSE)
echo 'Есть семёрка!';
else
echo 'Нету...';
(Почему в первых знаках? Потому что функция sin считает синус всё же с конечной точностью.)

Ссылочки не найдётся, к сожалению... Подумываю о том, чтобы замутить проект online-учебника по Web-программированию (не один, конечно), но пока это только задумка...
30. Systemnik - 16 Марта, 2008 - 08:29:07 - перейти к сообщению
Спасибо насчет переменных и ' " понял и даже попробовал
все работает я даже не замечал такой особенности Огорчение

А насчет отличия строковых литералов и строкового типа..
я заметил ока отличия в том что строковыелитералы пишутся в кавычках а строковый тип без них (тоесть переменная) какая разница литерал или не литерал что это дает??
я прекрасно понял что
print 'dsd'; надо писать в кавычках а если dsd переменная без них.
это понятно но зачем переменную специально превращать в строковый литерал?
стоп ее раз для усвоения
строковый литерал это "текст" или переменная "$dsd" и также это строковый тип?
строковый тип = строковый литерал?
Блин я некогда не отличался тупизной Растерялся чет несовсем понял

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0332]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33