Drupal网站中简单查询的SQL查询错误

我们设置了一堆Drupal环境,我们从中央服务器向它们发送命令。当从该服务器发送命令他们在这个格式 -Drupal网站中简单查询的SQL查询错误

drusha -v -d @website sql-query 'show tables;'

但是,我得到的错误 -

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

当我去到实际的数据库服务器,并手动运行该命令,它工作正常。

我试过切换引号并将它们全部删除,并删除了;最后,但我每次都会得到同样的错误。该网站正在使用的数据库信息是正确的。任何其他命令运行使用这个别名工作正常(drush clear-cache等),所以我不认为问题是与实际的别名。

有没有人有任何想法,为什么会发生?

编辑 - 当传递--database =数据库名称我碰到下面的错误 -

drusha -v -d @website sqlq -n "SHOW TABLES" --database=databasename

exception 'Drush\Sql\SqlException' with message 'Unable to find a [error] 

matching SQL Class. Drush cannot find your database connection

details.' in

phar:///usr/local/bin/drush/commands/sql/sql.drush.inc:588

Stack trace:

#0 phar:///usr/local/bin/drush/commands/sql/sql.drush.inc(426):

drush_sql_get_class(NULL)

#1 [internal function]: drush_sql_query('SHOW', 'TABLES')

#2 phar:///usr/local/bin/drush/includes/command.inc(366):

call_user_func_array('drush_sql_query', Array)

#3 phar:///usr/local/bin/drush/includes/command.inc(217):

_drush_invoke_hooks(Array, Array)

#4 [internal function]: drush_command('SHOW', 'TABLES')

#5 phar:///usr/local/bin/drush/includes/command.inc(185):

call_user_func_array('drush_command', Array)

#6 phar:///usr/local/bin/drush/lib/Drush/Boot/BaseBoot.php(67):

drush_dispatch(Array)

#7 phar:///usr/local/bin/drush/includes/preflight.inc(66):

Drush\Boot\BaseBoot->bootstrap_and_dispatch()

#8 phar:///usr/local/bin/drush/includes/startup.inc(325):

drush_main()

#9 phar:///usr/local/bin/drush/drush(114): drush_startup(Array)

#10 /usr/local/bin/drush(10): require('phar:///usr/loc...')

EDIT2 - 经过一番摆弄多,我得到了它的封闭一切与节目表工作在一个单引号内,然后双引号,并切换我跑的命令。现在,这是我的命令 -

ssh -q <webserverip> sudo -u apache /usr/local/bin/drush --root=/var/www/html/wwwroot/website/docroot/ sql-query "'UPDATE users SET mail='[email protected]' WHERE uid>1'" 

我目前得到的错误是 -

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@host WHERE uid>1' at line 1 

感谢。

回答:

你必须使用双引号没有;在文件夹中执行命令位于settings.php这个

drush -v -d sql-query "show tables" 

对于多站点的Drupal其中:

drush -v -d sql-query "show tables" --database=websitedbname 

drush -v -d sql-query "show tables" --target=website 

https://drushcommands.com/drush-7x/sql/sql-query/

此外,您还可以手动连接到数据库(mysql或其他)并发出请求。

以上是 Drupal网站中简单查询的SQL查询错误 的全部内容, 来源链接: utcz.com/qa/267231.html

回到顶部