|
|
|
|
|
для: cheops
(06.05.2013 в 20:45)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Nickiomen
(06.05.2013 в 17:46)
| | Обычно проверяют состояние дескрипторов, которые возвращает mysql_query(). PHP и MySQL - две разные программные среды, ошибки в одной из них не отображаются в другой, если вы явно не запросите. Однако, запрос SET NAMES - атомарный, параметров не использует. Либо выполниться, если текущая версия поддерживает, либо нет (но таких дремучих версий вы сейчас не найдете). А @ используется для подавления предупреждений - тоже избыточно, скорее просто символизирует, что мы не собираемся слушать и обрабатывать сообщения об ошибках по данному запросу, так как на 99% уверены в том, что запрос выполнится, а если он не выполнится, тоже уже ничего поделать не сможем (по крайней мере из скрипта). | |
|
|
|
|
|
|
|
для: Nickiomen
(06.05.2013 в 15:11)
| | Sorry! Еще один вопрос и я отстану на время))) Почему @mysql_query | |
|
|
|
|
|
|
|
для: cheops
(06.05.2013 в 07:22)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Nickiomen
(05.05.2013 в 23:24)
| | Да, конечно, иначе с сервером соединение не установите и запросы будут завершаться ошибкой. Вот без этого участка вполне можно обойтись
<?php
...
// Устанавливаем кодировку соединения, иначе сервер будет
// считать, что вы "говорите" на шведском
@mysql_query("SET NAMES 'utf8'");
// Давайте извелечем версию базы данных, чтобы проверить,
// что все работает корректно
$query = "SELECT VERSION()";
$ver = mysql_query($query);
if(!$ver) exit("Ошибка выполнения запроса по причине ".mysql_error());
if(mysql_num_rows($ver)){
echo "Текущая версия сервера - ".mysql_result($ver, 0);
}
echo "<br />";
...
?>
|
SET NAMES 'utf8' вам потребуется, когда будете передавать или читать данные с участием русского языка. | |
|
|
|
|
|
|
|
для: cheops
(05.05.2013 в 19:32)
| | $dblocation = "localhost";
// Имя mysql-пользователя
$dbuser = "root";
// Пароль mysql-пользователя
$dbpassword = "";
// Устанавливаем соединение с базой данных
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpassword);
if(!$dbcnx){
exit("Недоступен сервер базы данных");
}
Я этот пример видел почти в таком виде, только была еще добавлена проверка
if (!mysql_select_db($dbuser, $dbcnx))
Это вообще нужно? | |
|
|
|
|
|
|
|
для: cheops
(05.05.2013 в 19:32)
| | > $query = "CREATE DATABASE from_php DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
Я в шоке!!! И это весь ответ?))) Главное этого ответа нет ни в одной книге. Не на бумаге, ни в сетке... Спасибо огромное!!! | |
|
|
|
|
|
|
|
для: Nickiomen
(05.05.2013 в 18:41)
| | С удовольствием. Просто нам сразу сложно понять, что требуется, так как терминология используется не очень привычная, а ухо уже ждет "правильные" ключевые слова :)
Лучше всего начать с расширения mysql - оно самое древнее, но и самое распространенное. С остальными расширениями будет проще разобраться, если вы знакомы с этим. Можно начать отталкиваться от следующего скрипта
<?php
// Сервер базы данных
$dblocation = "localhost";
// Имя mysql-пользователя
$dbuser = "root";
// Пароль mysql-пользователя
$dbpassword = "";
// Устанавливаем соединение с базой данных
$dbcnx = mysql_connect($dblocation,$dbuser,$dbpassword);
if(!$dbcnx){
exit("Недоступен сервер базы данных");
}
// Устанавливаем кодировку соединения, иначе сервер будет
// считать, что вы "говорите" на шведском
@mysql_query("SET NAMES 'utf8'");
// Давайте извелечем версию базы данных, чтобы проверить,
// что все работает корректно
$query = "SELECT VERSION()";
$ver = mysql_query($query);
if(!$ver) exit("Ошибка выполнения запроса по причине ".mysql_error());
if(mysql_num_rows($ver)){
echo "Текущая версия сервера - ".mysql_result($ver, 0);
}
echo "<br />";
// Создадим новую базу данных from_php
$query = "CREATE DATABASE from_php DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
if(mysql_query($query)){
echo "База данных from_php успешно создана";
} else {
echo "База данных from_php не содадана по причине ".mysql_error();
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(05.05.2013 в 18:31)
| | Sorry! Может я не правильно выразился, но сделайте скидку человеку занимающемуся PHP 3 недели. Как это изобразить в PHP? Денвер базу создал, но как добавить в нее поля и инфу из PHP? | |
|
|
|
|
|
|
|
для: Nickiomen
(05.05.2013 в 17:43)
| | Да, такая возможность имеется, для этого следует направлять SQL-запросы при помощи одной из библиотек-расширений (mysql, mysqli, pdo)
Для создания базы данных следует выполнить запрос
Для переименования отдельного оператора нет (вернее был, но выпилили), поэтому придется сначала создать новую базу данных new, а потом перетащить каждую из таблиц старой базы данных old в новую
RENAME TABLE `old`.`tbl1` TO `new`.`tbl1`;
...
RENAME TABLE `old`.`tblN` TO `new`.`tblN`;
|
После чего удалить старую базу данных old при помощи запроса
| |
|
|
|
|