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 :: Ошибка синтаксиса SQL

 PHP.SU

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


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

> Описание: Пмогите найти ошибку
pzkw
Отправлено: 06 Июля, 2015 - 13:53:11
Post Id


Новичок


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


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




Всем привет. Помогите пожалуйста найти ошибку. Уже три дня бьюсь не могу понять в чем дело.

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. function generate_code($length = 25){
  3.     $num = rand(11111, 99999);
  4.     $code = md5($num);
  5.     $code = substr($code, 0, (int)$length);
  6.     return $code;
  7.        
  8. }
  9.  
  10. $kod= generate_code()
  11. ?>
  12. <form action="p1.php" method="post">
  13.                        
  14.        
  15.  
  16. <input name="order" type="text" value="<?PHP echo $kod ?>" id="texts" readonly></br>
  17.         <p><input name="wall" type="text" value="" id="texts" ></p>
  18.        
  19.        
  20.         <input type="submit" name="submit" value="отправить" class="button megabig blue">
  21.         </p>
  22.         </form>

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. if (isset($_POST['wall'])) {
  4.  $bit = $_POST['wall'];
  5.  if ($bit == '') {
  6.  unset($bit);} }
  7.  
  8. if (isset($_POST['order'])) {
  9.  $order = $_POST['order'];
  10.  if ($order == '') {
  11.  unset($order);} }
  12.  
  13. if (empty($bit) or empty($order))
  14.          {    exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
  15.          }
  16.  
  17. include ("bd.php");            
  18.  
  19.  
  20. $result= mysql_query("INSERT INTO `btc`( `bit`, `order`) VALUES ($bit,$order)")or die(mysql_error());
  21.  if($result==TRUE );
  22.  
  23.  
  24.  
  25.  
  26. ?>  
  27.  


Выдает мне такую фразу You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ',,,8eafcde359d51e3e5386f1951,qwerty,)' at line 1


таблица
CREATE TABLE IF NOT EXISTS `btc` (
`id` int(255) NOT NULL AUTO_INCREMENT,
`bit` varchar(255) NOT NULL,
`order` varchar(255) NOT NULL,


PRIMARY KEY (`id`)
 
 Top
Viper
Отправлено: 06 Июля, 2015 - 14:12:53
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




PHP:
скопировать код в буфер обмена
  1. mysql_query("INSERT INTO `btc`(`id`, `bit`, `order`) VALUES ('', '".$bit."', '".$order."')")


и `id` int(255) что-то новое... Чукчастайл?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
esterio
Отправлено: 06 Июля, 2015 - 14:28:17
Post Id



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


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


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




Viper пишет:
и `id` int(255) что-то новое... Чукчастайл?

Почему же. Именно на инт 255 никак не влияет
 
 Top
Viper
Отправлено: 06 Июля, 2015 - 14:56:51
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




esterio я к тому зачем такой большой?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
pzkw
Отправлено: 06 Июля, 2015 - 15:26:34
Post Id


Новичок


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


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




не работает, теперь пишет Unknown column '' in 'field list'
Я не понял зачем столько знаков препинания писать? в таблице с регистрацией у меня все проще и все отлично работает
 
 Top
Viper
Отправлено: 06 Июля, 2015 - 18:40:36
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




pzkw пишет:
не работает, теперь пишет Unknown column '' in 'field list'
echo запроса в студию!

pzkw пишет:
Я не понял зачем столько знаков препинания писать?
можете не писать.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
pzkw
Отправлено: 06 Июля, 2015 - 22:20:17
Post Id


Новичок


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


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




Я так понял вот это
PHP:
скопировать код в буфер обмена
  1. <input name="order" type="text" value="<?PHP echo $kod ?>" id="texts" readonly></br>


73161ae4a44563cfc1f24c152

пробовал и без него, все равно не получается.
Как только уже не крутил,не хочет. Все остальные таблицы работают нормально.
(Добавление)
INSERT INTO `btc`(`id`, `bit`, `order`) VALUES ([value-1],[value-2],[value-3])

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '[value-1],[value-2],[value-3])' at line 1

а это пишет если в phpmyadmin проверять без каких либо запросов
 
 Top
andrewkard
Отправлено: 06 Июля, 2015 - 22:36:20
Post Id


Участник


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


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




pzkw
Перед 20 строчкой:
PHP:
скопировать код в буфер обмена
  1.  
  2. $result= mysql_query("INSERT INTO `btc`( `bit`, `order`) VALUES ($bit,$order)")or die(mysql_error());
  3.  

выведите запрос и посмотрите что с ним не так:
PHP:
скопировать код в буфер обмена
  1.  
  2. echo "INSERT INTO `btc`( `bit`, `order`) VALUES ($bit,$order)";
  3.  

попробуйте выполнить его в phpmyadmin

(Отредактировано автором: 06 Июля, 2015 - 22:36:56)

 
 Top
pzkw
Отправлено: 06 Июля, 2015 - 22:57:00
Post Id


Новичок


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


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




эта же ошибка
(Добавление)
INSERT INTO `btc` (`bit`,`order`)VALUES(`12345`,`c9d84a597dde4786e661fbe85`)
(Добавление)
Нашел ошибку, но теперь пишет что нет такого столбца ( Unknown column '' in 'field list')
 
 Top
Viper
Отправлено: 06 Июля, 2015 - 23:34:04
Post Id



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


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


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




pzkw ничерта вы не нашли, и даже не поняли в чем у вас беда.

1. INSERT требует перечисления всех столбцов
2. обратные кавычки (те которые по Ctrl+ё) испотзуются для экранирования имен стобцов, а не значений.
3. значения в INSERT/UPDATE беруться в одинарные кавычки (те которые по Ctrl+э)

В общем читайте документацию.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
pzkw
Отправлено: 08 Июля, 2015 - 07:51:49
Post Id


Новичок


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


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




Всем спасибо за проявленный интерес и посильную помощь.Нашел ошибку. Пишу в дримвивер, когда ставлю одинарную кавычку (') дримвивер ставит их сразу две, я когда корректировал одну стер,затем поставил снова. Тут мне не понятен ход мысли редактора, но походу если стереть одну кавычку он все равно думает, что их остается две.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB