Php fatal error 1064

Почему PDO выдаёт фатальную ошибку?

Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 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 »`name`, `desc`, `queue`, `slug`, `color`, `thumb`, `name__price_1`, `name__pric’ at line 1 in X:\domains\cm.ru\core.php:171 Stack trace: #0 X:\domains\cm.ru\core.php(171): PDOStatement->execute() #1 X:\domains\cm.ru\app\sections.php(158): cmSections->createData() #2

thrown in X:\domains\cm.ru\core.php on line 171

Ума не приложу, что там не так.

$query = $qpdo->prepare("INSERT INTO `sections`(:keys) VALUES(:values) LIMIT 1"); return $query->execute(array(':keys' => $keys, ':values' => $values));

$keys — первый аргумент нижеприведённой функции createData() , а $values — второй.

$sections->createData('`name`, `desc`, `queue`, `slug`, `color`, `thumb`, `name__price_1`, `name__price_2`, `name__prm_1`, `name__prm_2`, `date_create`, `date_update`, `owner`', '' . $_POST['name'] . ', ' . $_POST['desc'] .', ' . $_POST['queue'] . ', ' . $_POST['slug'] . ', ' . $_POST['slug'] . ', ' . $_POST['color'] . ', ' . $_POST['thumb'] . ', ' . $_POST['name__price_1'] . ', ' . $_POST['name__price_2'] . ', ' . $_POST['name__prm_1'] . ', ' . $_POST['name__prm_2'] . ', ' . date('Y-m-d h:i:s') .', ' . date('Y-m-d h:i:s') . ', ' . $_COOKIE['user__id'] . '');

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Читайте также:  Display none in javascript function

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; #120

PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; #120

Comments

Hi, I get below error on —type=data or all. —type=schema works as expected. How can I solve it?

pp@6bb82a2c0270:~/DBDiff$ ./dbdiff server1.small:server2.stage-small —type=data
ℹ Now calculating data diff for table admin_rule
✖ Unexpected error: SQLSTATE[42000]: Syntax error or access violation: 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 ‘-small.admin_rule as a
LEFT JOIN kp-stage-small.admin_rule as b ON ‘ at line 1 (SQL: SELECT CONVERT( a . rule_id USING utf8) as rule_id ,CONVERT( a . role_id USING utf8) as role_id ,CONVERT( a . resource_id USING utf8) as resource_id ,CONVERT( a . privileges USING utf8) as privileges ,CONVERT( a . assert_id USING utf8) as assert_id ,CONVERT( a . role_type USING utf8) as role_type ,CONVERT( a . permission USING utf8) as permission FROM kp-small.admin_rule as a LEFT JOIN kp-stage-small.admin_rule as b ON a . rule_id = b . rule_id WHERE b . rule_id IS NULL ) PHP Fatal error: Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 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 ‘-small.admin_rule as a LEFT JOIN kp-stage-small.admin_rule as b ON ‘ at line 1 in /data/web/DBDiff/vendor/illuminate/database/Illuminate/Database/Connection.php:299
Stack trace:
#0 /data/web/DBDiff/vendor/illuminate/database/Illuminate/Database/Connection.php(299): PDO->prepare(‘SELECT CONVERT(. ‘)
#1 /data/web/DBDiff/vendor/illuminate/database/Illuminate/Database/Connection.php(617): Illuminate\Database\Connection->Illuminate\Database(Object(Illuminate\Database\MySqlConnection), ‘SELECT CONVERT(. ‘, Array)
#2 /data/web/DBDiff/vendor/illuminate/database/Illuminate/Database/Connection.php(581): Illuminate\Database\Connection->runQueryCallback(‘SELECT CONVERT(. ‘, Array, Object(Closure))
#3 /data/web/DBDiff/vendor/illuminate/database/Illuminate/Database/Connection.php(304): I in /data/web/DBDiff/vendor/illuminate/database/Illuminate/Database/Connection.php on line 625

The text was updated successfully, but these errors were encountered:

Источник

Форум пользователей MySQL

Комментарий модератора.
В статье ERROR 1064 (42000) объясняется, что означает ошибка сервера MySQL №1064, рассматриваются типичные ситуации и причины возникновения этой ошибки, а также даются рекомендации по исправлению.

Отредактированно NewUse (22.11.2010 05:31:34)

#2 22.11.2010 06:42:48

Re: ERROR 1064 (42000) Я Полный чайник

#3 23.11.2010 01:50:30

Re: ERROR 1064 (42000) Я Полный чайник

Да, спасибо, заработало, помогите, пожалуйста исправить ещё одну ошибочку такого же типа (несовместимость версий):
Сайтик под предположительно php4+MySQL — версия ранняя 2004г или ранее:

Читайте также:  Css reset min height

while ( $row = $query -> fetchRow ( ) )
unset ( $ROW ) ;
$row [ packet ] = «$row[packet] \n » ;
$TMP_ROW = «\" \n » ;
if ( $row [ action ] > 0 )
$TMP_ROW .= »
$TMP_ROW .= »
$ROW [ ] = array ( VARS => $val ,
TD_PAR => «align=middle» ,
TD_CLR => DEF_CLR ) ;
}
if ( $HEADER ) {
$HEADER = false ;
$ARRAY [ ] = $TMP_HEADER ;
}
$ARRAY [ ] = $ROW ;

PHP Fatal error: Call to a member function fetchRow() on a non-object in /usr/local/www/data/index.php on line 13

#4 23.11.2010 01:59:31

Re: ERROR 1064 (42000) Я Полный чайник

Как следует из текста ошибки — Вы пытаетесь вызвать метод у сущности,
не являющейся объектом. Задавайте, пожалуйста, вопросы по PHP на
webew.ru.

#5 23.11.2010 15:28:00

Re: ERROR 1064 (42000) Я Полный чайник

Спасибо, а такой синтаксис в MySQL5 допустим?

#6 23.11.2010 16:17:12

Re: ERROR 1064 (42000) Я Полный чайник

#7 24.11.2010 17:01:53

Re: ERROR 1064 (42000) Я Полный чайник

Не подскажите, ещё один тупой вопрос от полного чайника?:
почему (и в каких случаях) в MySQL 5 на запрос:

Может вернуться ошибка, или тип, не соответствующий стандартному?
В результате к ответу при попытки применить функцию:

function FetchRow ( )
{
if ( $this -> EOF ) {
$false = false ;
return $false ;
}
$arr = $this -> fields ;
$this ->_currentRow++;
if ( ! $this ->_fetch ( ) ) $this -> EOF = true ;
return $arr ;
}

PHP Fatal error: Call to a member function fetchRow ( ) on a non-object in /usr/local/www/data/index.php on line 13

Я правда чайник, но с помощью выше рекомендованного сайта определил, что ошибка именно в результате запроса MySQL.

#8 24.11.2010 17:37:09

Re: ERROR 1064 (42000) Я Полный чайник

Не-а, ошибка в сценарии PHP, который не проверяет, что вернулся объект,
а просто дергает его метод. Ищите название объекта на 13 строке, а потом
смотрите, где он определяется. Ошибка где-то там.

#9 24.11.2010 17:56:57

Re: ERROR 1064 (42000) Я Полный чайник

так ошибка то и возникает из-за невернго формата возврата запроса из БД:

Вот от сюда и вопрос, в каких случаях БД может выдавать разный ответ (вернее разный формат ответа), сейчас проверил вручную:
вот ответ:

ERROR 1054 (42S22): Unknown column ‘num’ in ‘field list’

Отредактированно NewUse (24.11.2010 18:13:33)

#10 24.11.2010 18:17:37

Re: ERROR 1064 (42000) Я Полный чайник

Ура. Нет такого столбца. Наконец-то Вы добрались до проблемы

Читайте также:  First class objects in java

ALTER TABLE packets ADD num INT;

#11 24.11.2010 18:41:19

Re: ERROR 1064 (42000) Я Полный чайник

Угу, походу схема БД была не верной, ща переправлю и инструкташку под фриНИБС с Веб-мордой накатаю, там уже пришлось кое-что поменять

Подскажите, пожалуйста, как подредактировать схему, чтоб этой ошибки не возникало:

DROP TABLE IF EXISTS packets;
CREATE TABLE `packets` (
`gid` bigint ( 15 ) unsigned NOT NULL auto_increment ,
`packet` varchar ( 128 ) NOT NULL default » ,
`deposit` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`credit` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`tos` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
`do_with_tos` tinyint ( 1 ) unsigned NOT NULL default ‘1’ ,
`direction` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
` fixed ` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
`fixed_cost` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`activated` tinyint ( 1 ) unsigned NOT NULL default ‘1’ ,
`activation_time` int ( 10 ) NOT NULL default ‘2678400’ ,
`blocked` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
`total_time_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`month_time_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`week_time_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`day_time_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`total_traffic_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`month_traffic_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`week_traffic_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`day_traffic_limit` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`total_money_limit` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`month_money_limit` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`week_money_limit` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`day_money_limit` double ( 16 , 6 ) NOT NULL default ‘0.000000’ ,
`login_time` varchar ( 254 ) NOT NULL default » ,
`huntgroup_name` varchar ( 64 ) NOT NULL default » ,
`simultaneous_use` smallint ( 3 ) unsigned NOT NULL default ‘0’ ,
`port_limit` smallint ( 3 ) unsigned NOT NULL default ‘0’ ,
`session_timeout` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`idle_timeout` bigint ( 15 ) unsigned NOT NULL default ‘0’ ,
`framed_ip` varchar ( 16 ) NOT NULL default » ,
`framed_mask` varchar ( 15 ) NOT NULL default » ,
`no_pass` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
`no_acct` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
`allow_callback` tinyint ( 1 ) unsigned NOT NULL default ‘0’ ,
`other_params` MEDIUMTEXT ,
`allowed_servers` varchar ( 254 ) NULL ,
`up` int ( 5 ) NULL ,
`down` int ( 5 ) NULL ,
`ippool_name` varchar ( 64 ) NULL ,
`provider_id` bigint not null default ‘0’ ,
PRIMARY KEY ( `gid` ) ,
UNIQUE KEY `packet` ( `packet` )
) ;

Отредактированно NewUse (24.11.2010 19:54:12)

Источник

Оцените статью