Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите, пожалуйста не сойти с ума

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Ororo
Отправлено: 19 Октября, 2015 - 16:51:34
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Бьюсь уже день почти, никак не пойму, где я что упустил. Пишу в базу данные при помощи этого замечательного класса, много раз уже им пользовался, на локалхосте (ноутбуке) все работает, на сервере - нет. А хочется писать именно на сервер.

Проверял 100 раз: пароли, привилегии пользователя, структуру таблицы, но все равно получаю: Error: wrong query. Что это блин такое-то? Даже в google нету таких вопросов.

Вот такой код примерно:

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $database_name = 'ads';
  4. $username = 'user';
  5. $password = 'password';
  6. $host = 'localhost';
  7.  
  8. require('db.php');
  9.  
  10. $db = new db($database_name, $username, $password, $host); // $host is optional and defaults to 'localhost'
  11.  
  12. mysql_query('SET NAMES utf8');
  13.  
  14. $title = 'title2';
  15. $description = 'desc11';
  16. $thumbnail = '2.jpg';
  17. $price = '$2.2';
  18. $link = 'http://google.com';
  19. $shop_logo = 'logo.jpg';
  20. $image_time = '2015-06-23 12:00:29';
  21. $image_link = 'bla.jpg';
  22.  
  23.  
  24.  $db->insert(
  25.     'ads',
  26.     array(
  27.         'product_name' => $title,
  28.         'product_description' => $description,
  29.         'product_price' => $price,  //это цена
  30.         'affiliate_link' => $link,
  31.                 'shop_logo' => $shop_logo,
  32.                 'thumbnail' => $thumbnail,
  33.                 'image_time' => $image_time,
  34.                 'image_link' => $image_link
  35.                 )
  36. );
  37.  
  38.  
  39. ?>
  40.  


Да, mysql лог пустой. Не включил я его чтоли?

(Отредактировано автором: 19 Октября, 2015 - 16:52:49)

 
 Top
DeepVarvar Супермодератор
Отправлено: 19 Октября, 2015 - 17:55:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ororo пишет:
замечательного класса
Какая самоирония ))
mysql_* устарело, а в зависимости от версии пхп еще и, возможно, уже выкинуто полность.
Ну и да, как насчет врубить уровень ошибок на полную катушку?
 
 Top
Ororo
Отправлено: 19 Октября, 2015 - 18:37:01
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




DeepVarvar пишет:
Ororo пишет:
замечательного класса
Какая самоирония ))
mysql_* устарело, а в зависимости от версии пхп еще и, возможно, уже выкинуто полность.
Ну и да, как насчет врубить уровень ошибок на полную катушку?


Уровень ошибок php? mysql? Сделал по этой инструкции, вообще mysql перестал стартовать Недовольство, огорчение

DeepVarvar пишет:

mysql_* устарело, а в зависимости от версии пхп еще и, возможно, уже выкинуто полность.


Имеем:

PHP Version 5.4.44-1~dotdeb+7.1
Apache/2.2.22 (Debian)
apc включен
mysql/mysqli Client API version 5.5.41

Если они устарели, то что актуально использовать сейчас? Мне Б простой класс или обертку - сунуть 6 полей в табличку. Бреед, ну какой пипец
 
 Top
Panoptik
Отправлено: 20 Октября, 2015 - 14:10:14
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




замечательный класс это PDO
а ваш класс - костыль из говна и палок

садись 2. переделывай


-----
Just do it
 
 Top
andrewkard
Отправлено: 20 Октября, 2015 - 14:47:21
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Ororo
Подключите в php.ini PDO и например так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
  3. $stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
  4. $stmt->bindParam(':name', $name);
  5. $stmt->bindParam(':value', $value);
  6.  
  7. // вставим одну строку
  8. $name = 'one';
  9. $value = 1;
  10. $stmt->execute();
  11.  
 
 Top
DeepVarvar Супермодератор
Отправлено: 20 Октября, 2015 - 21:08:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




andrewkard пишет:
bindParam
Ненавижу биндохрень.
Она между прочим похожа на ненавистный всеми вами goto.
Сам предпочитаю так:
PHP:
скопировать код в буфер обмена
  1. $stmt->execute([':name' => 'one', ':value' => 1]);
 
 Top
Ororo
Отправлено: 21 Октября, 2015 - 21:41:39
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Сент. 2013  


Помог: 0 раз(а)




Попробовал PDO-вариант, результат тот же:

[img]https://gyazo.com/f23eaf23e7fc920e316844bda2dad994.png[/img]

Где косяк, никак не пойму. Что-то с базой не так?

И главное в гугле ничего нет
(Добавление)
Это код из скрипта, который является "обвесом" для базы:

PHP:
скопировать код в буфер обмена
  1. //Validate arguments.
  2.   if (!ctype_digit($number)) {
  3.     header("HTTP/1.0 400 Bad Request");
  4.     die('Error: wrong query.');


Поясните мне, пожалуйста. Я не могу писать в базу, т.к. она сообщается со скриптом что ли. Как это вообще возможно. Скрипт этот потом работает с базой, берет данные оттуда, но почему я не могу туда писать?

(Отредактировано автором: 21 Октября, 2015 - 21:43:21)

 
 Top
andrewkard
Отправлено: 21 Октября, 2015 - 23:04:59
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Ororo
а что тут: $number ?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB