The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"mysql ни чего понять немогу. Что за ошибка ?"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы WEB технологии (Public)
Изначальное сообщение [Проследить за развитием треда]

"mysql ни чего понять немогу. Что за ошибка ?" 
Сообщение от MaximZaikin emailИскать по авторуВ закладки(??) on 26-Сен-05, 23:01  (MSK)
Добрый день. Проблемма такая
Код
    $descr=0;
    echo("До ".$descr);
    $descr = @mysql_connect("my_site.com","user","pass") or exit();
    echo("<br> после коннекта ".$descr);
    mysql_select_db("child") or exit;
    $result_id=0;
    echo("<br> result До ".$result_id);
    $result_id = mysql_query("SELECT COUNT(*) FROM child");
    echo("<br>result после ".$result_id);
    $row= mysql_fetch_row($result_id);

Дамп

До 0
после коннекта Resource id #5
result До 0
result после
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Program Files\nusphere\phped\Projects\de-bill\index.php on line 23

В чем тут дело ?

К слову сказать, хочу еще спросить, как создать аккаунт для пользователя.
Скажу сразу что пользователь реально есть с консоли я захожу в mysql, на него сделанны такие привелегии GRANT ALL ON bd.* TO 'user'@'%';
Пароля на этой учетке вобще я ни делал, т.к это тестовый вариант.
В чем тут проблема ? Кстати есть такой нюанс. С консоли войдя под этим пользователем набрав use my_db; выходит ошибка ERROR 1044: Access denied for user: '@localhost' to database 'my_db'.
Вот впринципе вся проблема. Как с ней бороться я незнаю.
Заранее благодарен Заикин Максим Викторович.

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "mysql ни чего понять немогу. Что за ошибка ?" 
Сообщение от MeLLowD Искать по авторуВ закладки(ok) on 28-Сен-05, 02:27  (MSK)
Для начала, вдумчиво читаем http://www.phpclub.ru/detail/article/2000-11-21
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "mysql ни чего понять немогу. Что за ошибка ?" 
Сообщение от MaximZaikin emailИскать по авторуВ закладки(??) on 28-Сен-05, 17:19  (MSK)
>Для начала, вдумчиво читаем http://www.phpclub.ru/detail/article/2000-11-21

Аж бесит. Ты сам вдумчиво пачитай этц фигню што ты мне дал, патом мой вапрос и код проанализируй. Ты это дай детям из дец сада. Я спросил в чем проблема, а не что мне прочитать. Что касается литературы это фуфельная статья, лично я использую Поль Дюбуа - mysql второое издание, и еще пару книг конкретно по пхп. Ламо ! Иногда лучше молчать чем говорить. Лучшип ты ничиво ниписал, я просто потратил свое время на бесполезное чтение того что и бес этава реса знал.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "mysql ни чего понять немогу. Что за ошибка ?" 
Сообщение от MeLLowD Искать по авторуВ закладки(ok) on 29-Сен-05, 00:17  (MSK)
Сынок, сначала поменяй подгузники, потом научиcь орфографии и только после этого переходи к программированию, чтению умных книжек, а заодно научись общаться с людьми, к которым ты пришел за помощью. Твой код - бред сивой кобылы, мне все равно какие ты читаешь книжки. В голове, видимо, ничего не откладывается. Судя по всему, ты не умеешь элементарно отлаживать код. Ответь хотя бы на пару вопросов, даже не мне, а сам себе:
1. Зачем ты делаешь echo("<br> после коннекта ".$descr);?
2. Зачем ты используешь оператор @ перед mysql_connect?
3. Тебе известна функция mysql_error?
4. Ты проверил свой запрос в консоли mysql или phpMyAdmin?
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "mysql ни чего понять немогу. Что за ошибка ?" 
Сообщение от romiro Искать по авторуВ закладки(ok) on 02-Окт-05, 02:07  (MSK)
Вынужден признать, люди правы в чём-то, давая Вам ответы Выше... займитесь нормально отладкой. Я же хочу высказаться по поводу прав доступа. Дело в том, что в MySQL есть разница между тем локальный вы пользователь или пришли из вне (из сети). У вас выставлены права на пользователя из сети
GRANT ALL ON bd.* TO 'user'@'%';
Знак процентов на это и указывает, если Вы сделаете тоже самое, но со значением localhost
GRANT ALL ON db.* TO 'user@localhost';
то у Вас всё заработает. Кстати, попробуйте сконнектится со своей базой в текущем состоянии не используя localhost, а пропишите IP машины - тоже должно срабоать.

По поводу Вашего скрипта - проведите нормальную отладку, вот приблизительный пример кода
$db_name = "child";
$con = @mysql_connect("my_site.com","user","pass") or die("Can not connect to db ".mysql_error());
  mysql_select_db($db_name) or die("Can not connect to db ".mysql_error());
  $res = mysql_query("SELECT COUNT(*) FROM child");
  if($res){
   $row = mysql_fetch_row($result_id);
   if(!$row){
     echo mysql_error();
     exit;
   }
  }

Я не претендую на то что этот код верен во всех отношениях, но я бы начал именно так.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "mysql ни чего понять немогу. Что за ошибка ?" 
Сообщение от Simps Искать по авторуВ закладки(ok) on 03-Окт-05, 10:15  (MSK)
Я себе давно уже сделал такой класс (в какой то книжке нашел) и юзаю его ... Намного проще жить =)

Что то типа
$db = new DB($host, $user, $password, $database);
if (!$db->open()) die($db->error());
if (!$db->query("
SELECT * FROM `table`
")) die($db->error());
if ($db->numRows() == 0 ) {
...
} else {
...
}

Ну и так далее ...

<?
class DB
{
/* Установки соединения */
var $host = '';
var $user = '';
var $password = '';
var $database = '';
var $persistent = false;
/* Идентификатор соединения */
var $conn = NULL;
/* Результат поиска */
var $result = false;
function DB($host, $user, $password, $database, $persistent = false)
{
$this->host = $host;
$this->user = $user;
$this->password = $password;
$this->database = $database;
$this->persistent = $persistent;
}
function open()
{
   /* Выбор нужной функции */
    if ($this->persistent) {
     $func = 'mysql_pconnect';
    } else {
      $func = 'mysql_connect';
    }
    /* Соединение с сервером */
    $this->conn = $func($this->host, $this->user, $this->password);
    if (!$this->conn) {
     return false;
}
    /* Выбор нужной базы */
    if (@!mysql_select_db($this->database, $this->conn)) {
     return false;
}
    return true;
  }

function close()
  {
/* Закрытие соединения */
   return(@mysql_close($this->conn));
  }

  function error()
  {
/* Возврат ошибки */
   return (mysql_error());
  }

  function query($sql)
  {
/* Запрос к базе */
$this->result = @mysql_query($sql, $this->conn);
    return($this->result != false);
  }

  function affectedRows()
  {
    /* Затронутые столбцы */
   return(@mysql_affected_rows($this->conn));
  }

  function numRows()
  {
    /* Количество столбцов */
   return(@mysql_num_rows($this->result));
  }

function fetchObject()
  {
    /* Вернуть обьект */
   return(@mysql_fetch_object($this->result, MYSQL_ASSOC));
  }

  function fetchArray()
  {
    /* Вернуть массив */
   return(@mysql_fetch_array($this->result));
  }

  function fetchAssoc()
  {
   /* Возвращает ассоциативный массив */
    return(@mysql_fetch_assoc($this->result));
  }

function InsertId ()
{
return(@mysql_insert_id($this->conn));
}
function freeResult()
  {
    /* Освободить ресурс */
   return(@mysql_free_result($this->result));
  }
}
?>

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру