но по идее у тебя должно было сразу сдохнуть и написать причину и не было бы "теже самые ошибки" там точняк ниче про логин пароль те не написало?
PHP: <?php $servername=''; // Your MySql Server Name or IP address here $dbusername=''; // Login user id here $dbpassword=''; // Login password here $dbname=''; // Your database name here function connecttodb($servername,$dbname,$dbuser,$dbpassword) { global $link; $link=mysql_connect ('$servername','$dbuser','$dbpassword'); if(!$link){die('Could not connect to MySQL');} mysql_select_db('$dbname',$link) or die ('could not open db'.mysql_error()); } connecttodb($servername,$dbname,$dbusername,$dbpassword); $query= 'SELECT * FROM `test1`'; $result=mysql_query($query); $num = mysql_num_rows($result); echo $num; ?> но правильней делать так: 1. Создаешь файл config.php, пишешь туда: PHP: <?php $servername=''; // Your MySql Server Name or IP address here $dbusername=''; // Login user id here $dbpassword=''; // Login password here $dbname=''; // Your database name here function connecttodb($servername,$dbname,$dbuser,$dbpassword) { global $link; $link=mysql_connect ('$servername','$dbuser','$dbpassword'); if(!$link){die('Could not connect to MySQL');} mysql_select_db('$dbname',$link) or die ('could not open db'.mysql_error()); } connecttodb($servername,$dbname,$dbusername,$dbpassword); ?> 2. Создаешь файл для вывода информации: PHP: <?php require_once ('config.php'); // или - include ('config.php'); $query= 'SELECT * FROM `test1`'; $result=mysql_query($query); $num = mysql_num_rows($result); echo $num; ?> 3. Создаешь .htaccess, пишешь туда: Code: Options -Indexes <Files "config.php"> Order allow,deny Deny from all </Files>
Кодировка: Code: ALTER TABLE таблица CONVERT TO CHARACTER SET charset_name; Поиск: Code: SELECT * FROM таблица WHERE условие
1 Поменять кодировку уже существующей таблицы можно с помощью SQL-запросов, отправляемых из приложения, или с помощью phpMyAdmin. Вот пример получающего данные от клиента в кодировке CP1251 и сохраняющего их в таблицу с кодировкой UTF-8: Code: import java.io.*; import java.sql.*; import java.util.Properties; import javax.servlet.*; import javax.servlet.http.*; /* Для работы этого примера требуется предварительно создать таблицу с помощью следующего SQL-запроса: CREATE TABLE test (id INT AUTO_INCREMENT PRIMARY KEY, value VARCHAR(255)) CHARACTER SET utf8 */ public class DBServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //указываем кодировку для HTML-страницы, отправляемой клиенту response.setContentType("text/html; charset=windows-1251"); //указываем кодировку для данных полученых от клиента request.setCharacterEncoding("CP1251"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head><title>DBServlet</title></head>"); out.println("<body>"); out.println("<form method=\"post\" action=\"dbservlet\">"); out.println("<input type=\"text\" name=\"t1\">"); out.println("<input type=\"submit\">"); out.println("</form>"); out.println("<hr>"); try{ Connection connection=getDBConnection(); Statement statement=connection.createStatement(); if(request.getMethod().equals("POST")){ String t1=(request.getParameter("t1")!=null)?request.getParameter("t1").trim():""; if(t1.length()>0){ statement.executeUpdate("INSERT INTO test ( value ) VALUES ('"+t1+"')"); } } ResultSet result=statement.executeQuery("SELECT id, value FROM test ORDER BY id DESC"); out.println("<table border=\"1\">"); out.println("<tr><th>id</th><th>value</th></tr>"); while(result.next()){ out.println("<tr>"); out.println("<td>"+result.getString("id")+"</td>"); out.println("<td>"+result.getString("value")+"</td>"); out.println("</tr>"); } out.println("</table>"); connection.close(); }catch(Exception e){ log(e.toString()); } out.println("</body>"); out.println("</html>"); } /* Не самый лучший метод для получения соединения с базой данных. Для повышения производительности при работе с базами данных использовать пулы соединений. */ protected Connection getDBConnection()throws Exception{ Class.forName("com.mysql.jdbc.Driver"); Properties properties=new Properties(); properties.setProperty("user","логин"); properties.setProperty("password","пароль"); /* настройки указывающие о необходимости конвертировать данные из Unicode в UTF-8, который используется в таблице для хранения данных */ properties.setProperty("useUnicode","true"); properties.setProperty("characterEncoding","UTF-8"); return(DriverManager.getConnection("jdbc:mysql://localhost:3306/имяБазы", properties)); } }
помогите как лучше оптимизировать код чтоб часто бд не опрашивать, или как перепроектировать бд чтоб снизить нагрузку на сервак ситуация такова что: _http://darin-sk.kz/mysql.jpg для каждого пользователя выборка происходит на основании его прав доступа к информации по областям и видов деятельности и их подвидов
странная запись какаято, у тебя прям так все в базе записано? если да , то попробуй каждую область доступа сделать в отдельном поле, и как у тебя сейчас выглядит код запроса в базу, выложи тут
изменить структуру таблиц, например, так. Вынести права доступа юзеров в отдельную таблицу Code: user_rights id - уникальное поле uid - id пользователя (связь по полю users.uid) pid - id перечня (связь по полю perechen.pid) vid - id из таблиц actions, classies, obl (если pid = 1, то это значение поля actions.aid, если pid = 2, то classies.cid, если pid = 3, то obl.oblid) perechen (скорее, это чисто информационная таблица, практического использования может не иметь) pid - id перечня (actions = 1, classies = 2, obl = 3) pname - название тогда таблица юзерс будет такой Code: users uid - id пользователя ulogin - логин пользователя (возможно, еще какие-то поля) Пример Code: users id ulogin 1 Bond ================ user_rights id uid pid vid 1 1 1 13 2 1 1 15 3 1 1 17 4 1 1 234 5 1 1 45 6 1 1 456 7 1 1 65 8 1 2 1 9 1 2 23 10 1 2 12 11 1 2 21 12 1 3 1 13 1 3 10 14 1 3 4 15 1 3 3 Расставить индексы. ЗЫ. С тендерами что-то я не понял. Пример такого запроса можно? ЗЗЫ. Таблицы actions, classies, obl останутся без изменений
У тебя access - obl actions_access - actions classies_access - classies по сути не связаны. Первый и оч большой минус - не поддерживается целостность средствами базы, и ее очень легко перевести в рассогласованное состояние Второй - что бы понять куда он имеет доступ, надо получить значение, проанализировать... опять послать запрос... ужас просто=) Предлагаю сделать след. образом (на промереобласти - с остальными думаю разберешся сам) Создаем таблицу us_obl , вида id_user|id_obl где id_user ссылается на uid из таблички users, а id_obl - соответственно на oblod из таблицы obl. Первичный ключ здесь составной, из полей id_user, id_obl... в эту таблицу можно еще добавить какие нить вспомогательные данные, если нужны. И соответственно после этих манипуляций мы удаляем поле access из таблицы users. Так же следует поступить и с двумя оставшимися полями. Так же можно привязать каскадное удаление\обновление и тп, но б этом я судить не очень могу, так как не вникал в твою предметную область, и тебе лучше видно нужно ли здесь это Главный итог сих дйствий - увеличили надежностьбазы, и упростили обработку данных.
как сделать поиск по бд не как where.../ я хочу чтобы проверялось если такое слово или нет.если есть то показать по бд а не таблица
Перенос старой базы в новую на Вордпрессе Здравствуйте, всем! На сайте сделал блог на Вордпрессе. Глюканул блог, скачал свежую версию WP 262, заново установил( при установке сделал префикс ss_). Теперь есть 2 вопроса: 1. Хочу перенести данные со старой базы в новую. В админке присутствуют старая база( с префиксом wp_) и новая база(с префиксом ss_). Как правильно мне это сделать? 2. После таких проблем решил далее не рисковать и регулярно делать резервное копирование данных базы, что бы в случае чего сделать бэкап. Мои действия: 2.1. Сделал резервную копию базы. А именно: выбрал название базы- экспорт-SQL(поставил галочку на "Добавить CREATE PROCEDURE / FUNCTION")- сохранил данные в блокноте. 2.2. Пытался восстановить данные. А именно: выбрал название базы- вкладка SQL- вставил данные сохранённого файла в поле- ок. Выдаёт ошибку. В чём проблема? Спасибо большое всем , кто поможет!
2.2. конкретнее, че за ошибка? по базе: в бекапе возьми команды с инсертами, замени значения INSERT INTO ws_ на '... ss_' , и выполни в SQL
Если можно, поподробнее. Видете ли, я- новичёк и не много знаю по теме. Вы говорите о префиксе по бэкапу?
Поменял в бэкапе значения INSERT INTO wp_ на '... ss_' и выполнил SQL- ошибка: "Ошибка SQL-запрос: -- -- База данных: `ourwater151` -- CREATE DATABASE `ourwater151` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; Ответ MySQL: #1007 - Can't create database 'ourwater151'; database exists" При бэкапе без изменения префикса: "Ошибка SQL-запрос: -- -- Дамп данных таблицы `ss_comments` -- INSERT INTO `ss_comments` ( `comment_ID` , `comment_post_ID` , `comment_author` , `comment_author_email` , `comment_author_url` , `comment_author_IP` , `comment_date` , `comment_date_gmt` , `comment_content` , `comment_karma` , `comment_approved` , `comment_agent` , `comment_type` , `comment_parent` , `user_id` ) VALUES ( 2, 3, 'Egorich', '[email protected]', 'http://lexicka.ru', '98.223.159.17', '2008-10-02 09:15:52', '2008-10-02 05:15:52', 'Вот это да... По моему мнению, минусы намного превосходят плюсы. Думаю, не стоит заморачиваться.', 0, '1', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Netscape/8.0.4', '', 0, 0 ) , ( 3, 3, 'Феликс', '[email protected]', 'http://aviacya.ru', '212.241.70.70', '2008-10-04 02:50:24', '2008-10-03 22:50:24', 'Если это не тайна, автор откуда родом?', 0, '1', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060206 Songbird/0.1', '', 0, 0 ) , ( 4, 3, 'Бизнесмен', '[email protected]', 'http://www.wwnews.info/', '89.190.225.140', '2008-10-06 23:43:41', '2008-10-06 19:43:41', 'Почти так. Но если мне не изменяет память в каком то блоге писали иначе', 0, '1', 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)', '', 0, 0 ) , ( 5, 3, 'kabardinka', '[email protected]', 'http://kabardinka.name', '91.76.219.87', '2008-10-17 12:58:30', '2008-10-17 08:58:30', 'здравствуйте!\r\nнадеюсь что у вас сайт будет пополнять и будет интересным! всего доброго!\r\nА дизайн хороший, располагает пользователя!', 0, '1', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 WebMoney Advisor', '', 0, 0 ) , ( 6, 3, 'admin', '[email protected]', 'http://', '93.84.17.51', '2008-10-19 13:48:01', '2008-10-19 09:48:01', 'Спасибо за проявленный интерес к сайту и блогу. Принимаются любые предложения и пожелания. Я благодарен за позитивный отзыв kabardinka и очень рад ругательным сообщениям, так как это стимулирует и заставляет задуматься о том, что же не так. Автор из Беларуси, г.Пинск. Всем успеха и отличного здоровья!', 0, '1', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3', '', 0, 1 ) , ( 23, 3, 'Цунарэф', '[email protected]', '', '93.84.240.206', '2008-11-01 04:10:51', '2008-11-01 00:10:51', 'Здравствуйте!\r\nНадеюсь, что сайт будет и дальше интересным,но займитесь делом и поработайте над сайтом в стиле хорошей музыки, а этот можно держать параллельно. Народ требует Вашего возвращения на своё место.\r\nС уважением Ю.Шатунов.', 0, '1', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3', '', 0, 0 ) , ( 24, 3, 'admin', '[email protected]', 'http://', '93.84.18.239', '2008-11-01 20:39:51', '2008-11-01 16:39:51', 'Спасибо, Цунареф, за комментарий и проявленный интерес к сайту и блогу. Я знаю, кто пишет под ником\r\nЦунарефы и знаю, что речь идёт по поводу сайта http://zyklonss.pochta.ru/Zyklonss/index.html.\r\nДа, сайт посвящённый тяжёлой музыке я временно забросил, так как все силы на данный момент отдаю этому сайту. Да и поддержки со стороны некоторых участников того проекта я не наблюдаю. В частности это касается музыкантов группы Ultrakain из Дзержинска в Беларуси.\r\nА Вам, Цунареф(Ю.Шатунов), предлагаю вопросы, связанные с тем сайтом, задавать в ICQ(423902398), а здесь общаться по вопросам этого сайта и блога. Не забывайте отписаться. Успеха Вам!\r\nС уважением, Сергей.', 0, '1', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3', '', 0, 1 ) ; Ответ MySQL: #1062 - Duplicate entry '2' for key 1"