Mysql не выводит нет ошибки

If still no mysql error, after changing the «or die» position after «mysql_query»..do you get $thread_id from somewhere?? like

$thread_id=$_GET['thread_id'];

Also, if you use, multiple database connections, inside mysql_error(‘$connection_name’))

Like:

//Connect to database
$main = mysql_connect(DB_HST, DB_USR, DB_PSS);
mysql_select_db(DB_DB);

$main2 = mysql_connect(DB_HST2, DB_USR2, DB_PSS2);
mysql_select_db(DB_DB2);

return the error executing the query to the right database..

mysql_query("query") or die (mysql_error($main));

when using multiple database connection the query should look like:

$query = mysql_query("SELECT * FROM table_name WHERE id=1", $connection_name);
mysql_fetch_array($query);

After having some trouble with installing a UDF in MySQL (Cannot install MySQL UDF) I’m facing another issue. When executing the function I get a «Lost connection to MySQL server during query» error (errno 2013). Error logging is enabled, but I can’t see any error messages in the log file. The my.ini configuration file has the following log properties under mysqld:

log-output=FILE
general-log=0
general_log_file="mysql-general-log-file.log"
slow-query-log=1
slow_query_log_file="mysql-slow-query-log-file.log"
long_query_time=10
log="mysql.log"
# Error Logging.
log-error="mysql-error.log"
log-warnings=2

And here is the mysql-error.log output:

140314 21:29:25 [Note] Plugin 'FEDERATED' is disabled.
140314 21:29:25 InnoDB: The InnoDB memory heap is disabled
140314 21:29:25 InnoDB: Mutexes and rw_locks use Windows interlocked functions
140314 21:29:25 InnoDB: Compressed tables use zlib 1.2.3
140314 21:29:25 InnoDB: Initializing buffer pool, size = 307.0M
140314 21:29:25 InnoDB: Completed initialization of buffer pool
140314 21:29:25 InnoDB: highest supported file format is Barracuda.
140314 21:29:26  InnoDB: Waiting for the background threads to start
140314 21:29:27 InnoDB: 5.5.32 started; log sequence number 9975593
140314 21:29:27 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
140314 21:29:27 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
140314 21:29:27 [Note] Server socket created on IP: '0.0.0.0'.
140314 21:29:27 [Note] Event Scheduler: Loaded 0 events
140314 21:29:27 [Note] C:/Program Files/MySQL/MySQL Server 5.5/binmysqld: ready for connections.
Version: '5.5.32-log'  socket: ''  port: 3306  MySQL Community Server (GPL) 

I’ve also tried to debug the UDF itself by adding a few print commands to the code, e.g.

fprintf(stderr, "%s", "Launching JVMn");
fflush(stderr);

Unfortunately this didn’t work either. Which other options do I have to track down the issue?

Почему то PHP скрипт не создаёт запись в таблицу MySQL.

Я много раз перепроверял скрипт, «вроде бы» всё правильно, он даже ошибку при выполнении не выводит!
error.log пустой

А когда я выполняю эту же функцию в phpmyadmin, он успешно выполняется
С соединением к MySQL проблем нет, пароль и имя таблицы правильны

▶Скрипт PHP◀

<?php
    session_start();
    require_once 'connect.php';

    $username = $_POST['username'];
    $password = hash('haval256,5', $_POST['password']);
    $password_confirm = hash('haval256,5', $_POST['password_conf']);
    $email = $_POST['email'];
    $profile_image = $_FILES['avatar']['tmp_name'];

      if($password != $password_confirm){
        
        $_SESSION['message'] = 'Пароли не совпадают!';

        header('Location: ../register.php');
      }else{
        // ok...
      }

      if($username == "" || $password == ""){
        $_SESSION['message'] = 'Заполните все поля!';

        header('Location: ../register.php');
      }else{

            $check_user = mysqli_query($connect, "SELECT * FROM `users` WHERE `username` = '$username'");
          if(mysqli_num_rows($check_user) == 1){
            $_SESSION['message'] = 'Этот ник уже занят!';

              header('Location: ../register.php');
          }else{
            $rand1 = "avatars/".rand(1000000000, 9999999999).".png";
            
            move_uploaded_file($profile_image, "../".$rand1);
            
           // Проблемный скрипт <<<<<<<<

            $create_table = mysqli_query($connect, "INSERT INTO `users`(`id`, `username`, `email`, `password`, `plan`, `banned`, `avatar`, `subscribers`, `status`, `used_plan`) VALUES (NULL, '$username', '$email', '$password', 3, 'no', '$rand1', 0, 'surfer', 3)");
          
        
          $_SESSION['message'] = 'Регистрация прошла успешно';

          
          }

      }
?>

Структура таблицы:
62bae392d61dc663754262.png

#1 21.02.2011 10:58:41

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Mysql не выводит ошибки

Добрый день народ, я переустановил Mysql, но в клиенте осталась моя старая база с таблицами и процедурами, и теперь когда я добавляю или обновляю в таблице в поле с Unsigned отрицательное число, то сервер ошибку не выводит,раньше ругался на это, просто показывает что изменено о полей и все, ноль эмоций вообщем. Почему так? Что за глюк?

Неактивен

#2 21.02.2011 11:19:04

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3876

Re: Mysql не выводит ошибки

Неактивен

#3 21.02.2011 11:19:59

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2412

Re: Mysql не выводит ошибки

Попробуем по следам http://sqlinfo.ru/forum/viewtopic.php?id=2400

mysql> create table iu (i int unsigned);
Query OK, 0 rows affected (0.00 sec)

mysql> insert iu values (-1);
Query OK, 1 row affected, 1 warning (0.00 sec)

mysql> select * from iu;
+——+
| i    |
+——+
|    0 |
+——+
1 row in set (0.00 sec)

Как у Вас получается? Приведите таблицу (show create table ИМЯ_ВАШЕЙ_ТАБЛИЦЫ), пример данных, запрос — в-общем последовательнось, как я выше привёл.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли…

Неактивен

#4 21.02.2011 11:43:04

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Mysql не выводит ошибки

Всем спасибо. Разобрался. Оказывается ошибка выводиться в окне клиента где дублирются запросы, рыньше просто алертом выходила. ))

Отредактированно simple (21.02.2011 11:45:23)

Неактивен

Всем привет!

Решил оптимизировать работу скрипта по сбору и обработке статистики на сайте. Час бьюсь, но не вижу почему неправильно работает запрос.

И так, есть 3 таблицы:

PHP:

/* в таблицу записываются "сырые" данные о клика по ссылкам */
DROP TABLE IF EXISTS `clicks`;
CREATE TABLE IF NOT EXISTS `clicks` (
  `id_url` int(8) unsigned NOT NULL,
  `referer` varchar(250) COLLATE latin1_general_ci NOT NULL,
  KEY `id_url` (`id_url`),
  KEY `referer` (`referer`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `clicks` (`id_url`, `referer`) VALUES
(123, 'https://google.ru'),
(123, 'https://google.ru'),
(123, 'https://ya.ru');


/* таблица с уникальными адресами откуда были клики - для экономии места в итоговой таблице храним id, а не полный url*/
DROP TABLE IF EXISTS `referers`;
CREATE TABLE IF NOT EXISTS `referers` (
  `referer_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `referer` text COLLATE latin1_general_ci NOT NULL,
  PRIMARY KEY (`referer_id`),
  UNIQUE KEY `referer` (`referer`(255))
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=3 ;

INSERT INTO `referers` (`referer_id`, `referer`) VALUES
(1, 'https://google.ru'),
(2, 'https://ya.ru');


/* итоговая таблица со статистикой */
DROP TABLE IF EXISTS `statistics`;
CREATE TABLE IF NOT EXISTS `statistics` (
  `id_url` int(8) unsigned NOT NULL,
  `referer_id` int(10) unsigned NOT NULL,
  `total_clicks` mediumint(8) unsigned NOT NULL,
  KEY `id_url` (`id_url`),
  KEY `referer_id` (`referer_id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;

INSERT INTO `statistics` (`id_url`, `referer_id`, `total_clicks`) VALUES
(123, 1, 100);

Сам запрос:

PHP:

/* считаем по какой ссылке, сколько раз кликнули */
SELECT clicks.id_url, count(clicks.referer), referers.referer_id
FROM `clicks`
LEFT JOIN referers ON clicks.referer = referers.referer
LEFT JOIN statistics ON clicks.id_url = statistics.id_url
WHERE statistics.referer_id IS NULL
GROUP BY clicks.id_url, clicks.referer

По моей логике запрос должен вернуть результат «id_url=123, кликов=1, referer_id=2», т.е. информацию о кликах, о которых еще нет данных в таблице statistics. По факту mysql возвращает пустой результат.

Если заменить условие «statistics.referer_id IS NULL» на «referers.referer_id=statistics.referer_id», то запрос работает корректно (id_url=123, кликов=2, referer_id=1).

Ткните меня носом, где моя ошибка?

Спасибо.

Возможно, вам также будет интересно:

  • Mysql update если ошибка то
  • Mysql odbc driver ошибка 126
  • Mysql no packages found ошибка
  • Mysql no compatible servers were found ошибка
  • Mysql for visual studio ошибка

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии