我有一个查询来检查mysql用户列表以创建新用户.
IF (SELECT EXISTS(SELECT 1 FROM `mysql`.`user` WHERE `user` = '{{ title }}')) = 0 THEN
CREATE USER '{{ title }}'@'localhost' IDENTIFIED BY '{{ password }}'
END IF;
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
ERROR 1064 (42000) at line 3: 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 'IF (SELECT EXISTS(SELECT 1 FROM `mysql`.`user` WHERE `user` = 'cms_localhost')) = 0 ' at line 1
Run Code Online (Sandbox Code Playgroud) 我有大量的文本数据.我的整个数据库都是UTF-8的文本格式
我需要在我的整个文本数据上列出最重复的短语.
例如,我的愿望输出如下:
{
'a': 423412341,
'this': 423412341,
'is': 322472341,
'this is': 222472341,
'this is a': 122472341,
'this is a my': 5235634
}
Run Code Online (Sandbox Code Playgroud)
处理和存储每个短语占用巨大的数据库.例如存储在MySQL或MongoDB中.问题是有没有更有效的数据库或算法来找到这个结果?Solr,Elasticsearch等......
我想我每个短语最多10个单词对我有好处.
之前我使用过Zend_Locale,但似乎PHP intl扩展有cldr信息.
我需要获得一些信息,例如获取每种语言的可用国家/地区?例如en
有US
,UK
,GB
并fa
具有IR
与AF
和CLDR项目提供更多的数据.
CLDR xml文件中存在国家/地区名称,每种语言的时区列表以及更多数据.
它嵌入在php intl上,或者我可以下载并将它们绑定到类或方法上吗?
哪个对象或方法可以为我提供有关PHP intl扩展的信息?
我有两个这种结构的表
categories
--------------------------------
id | create
1 | 2012-12-01 12:00:00
2 | 2012-12-01 12:00:00
category_i18ns
--------------------------------
category_id | lang | title
1 | en | home page
1 | de | HomE PAGEa
1 | fa | ????
2 | en | about
Run Code Online (Sandbox Code Playgroud)
某些类别包含所有语言数据,另一些类别包含所有语言数据 例如,类别ID 2只有en
翻译标题.我希望有一个查询,首先检查当前语言的检索标题,然后如果不存在,然后显示另一个.
我有一个查询来获取当前类别数据与i18n数据在当前示例中de
是默认语言.对于类别ID,1
我们有de
标题,但对于类别,2
我们不.所以我想要英文版作为类别的标题
SELECT * FROM `mhf_swe_ndzhmju3_test`.`categories` AS `Category`
LEFT JOIN `mhf_swe_ndzhmju3_test`.`category_i18ns` AS `CategoryLocale` ON (
`CategoryLocale`.`category_id` = `Category`.`id`
AND `CategoryLocale`.`lang` = 'de')
Run Code Online (Sandbox Code Playgroud)
渴望用'de'语言
Category.id CategoryLocale.title …
Run Code Online (Sandbox Code Playgroud) 我必须使用\Doctrine\Common\Annotations\AnnotationRegistry::registerFile
访问实体文件中的注释注册表.
这部分是使用驱动程序链和使用orm:schema-tool:creator所必需的.但我无法通过添加添加我需要的每个类AnnotationRegistry::registerFile
.
当我想将Gedmo添加到我的Doctrine 2.2.2时,就会看到这个问题.
// cli-config.php
// if comment this like an error will appear
// \Doctrine\Common\Annotations\AnnotationRegistry::registerFile(__DIR__ . '/../library/Doctrine/ORM/Mapping/Driver/DoctrineAnnotations.php');
// cache
$cache = new \Doctrine\Common\Cache\ArrayCache();
// annotation reader
$annotationReader = new \Doctrine\Common\Annotations\AnnotationReader();
// cached annotation reader
$cachedAnnotationReader = new \Doctrine\Common\Annotations\CachedReader($annotationReader, $cache);
// driver chain
$driverChain = new \Doctrine\ORM\Mapping\Driver\DriverChain();
// annotation driver
$annotationDriver = new \Doctrine\ORM\Mapping\Driver\AnnotationDriver($cachedAnnotationReader, array(SCHEMA_PATH));
// add entity namespaces
$driverChain->addDriver($annotationDriver, 'Entity');
// configuration
$config = new \Doctrine\ORM\Configuration();
$config->setMetadataCacheImpl($cache);
$config->setMetadataDriverImpl($driverChain);
$config->setQueryCacheImpl($cache);
$config->setProxyDir(PROXY_PATH);
$config->setProxyNamespace('Proxies');
$config->setAutoGenerateProxyClasses(true);
// entity …
Run Code Online (Sandbox Code Playgroud) 我想通过所有网址将文件加载到特殊文件名后保存我的特殊网页,并将链接转换为绝对网址,例如wget -k
.
//phantomjs
var page = require('webpage').create();
var url = 'http://google.com/';
page.open(url, function (status) {
var js = page.evaluate(function () {
return document;
});
console.log(js.all[0].outerHTML);
phantom.exit();
});
Run Code Online (Sandbox Code Playgroud)
例如我的html内容是这样的:
<a href="//page.html">page</a>
Run Code Online (Sandbox Code Playgroud)
一定是
<a href="http://google.com/page.html">page</a>
Run Code Online (Sandbox Code Playgroud)
这是我的示例脚本,但我如何转换所有网址和链接,如wget -k
使用phantomjs?
我想将igbinary二进制序列化数据存储到MySQL中.要提高性能,最好使用TEXT或BLOB等.
我在整个linux varibale中添加一个变量 /etc/profile
export MYNAME="My Value"
Run Code Online (Sandbox Code Playgroud)
如何通过apache web服务器运行时在php源代码中访问此值?在$ _SERVER中,此值不存在.
这个键出现在$ _ENV上:
_ENV["APACHE_RUN_DIR"] /var/run/apache2
_ENV["APACHE_PID_FILE"] /var/run/apache2.pid
_ENV["PATH"] /usr/local/bin:/usr/bin:/bin
_ENV["APACHE_LOCK_DIR"] /var/lock/apache2
_ENV["LANG"] C
_ENV["APACHE_RUN_USER"] www-data
_ENV["APACHE_RUN_GROUP"] www-data
_ENV["APACHE_LOG_DIR"] /var/log/apache2
_ENV["PWD"] /
Run Code Online (Sandbox Code Playgroud) 我怎样才能在SQL服务器上获得此查询?它导致错误:这是MySQL版本
SELECT HEX(c1) FROM t1;
Run Code Online (Sandbox Code Playgroud)
这个简单的例子工作:
/****** Script for SelectTopNRows command from SSMS ******/
SELECT CAST('example data' AS VARBINARY) AS Body2
Run Code Online (Sandbox Code Playgroud)
但是这个sql dosnt工作.
/****** Script for SelectTopNRows command from SSMS ******/
SELECT TOP 10 [NewsID]
,[upTitle]
,[Title]
,[Summary]
,CAST(Body AS VARBINARY) AS Body2
,[LargePic]
,[PublishDate]
FROM [Upgrade_News].[dbo].[News_News]
Run Code Online (Sandbox Code Playgroud)
这给了我这个错误
Msg 529, Level 16, State 2, Line 6
Explicit conversion from data type ntext to varbinary is not allowed.
Run Code Online (Sandbox Code Playgroud)
我需要ntext
在select上转换为HEX数据.它不是整数或短字符串.
我怎么能在https://hub.docker.com/_/mariadb/上运行容器mysqldump ?
我找不到任何有用的文档或数据?
任何备份和还原数据库的方法.
这是我的continaer run命令:
docker run --name myaapp-mariadb -v /databases/maria:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=password -d mariadb:10
我想知道是否有可能为特殊的php cli基础应用程序更改某些输出以更改终端上的某些值而不是回显新的.例如,这是cli应用程序.
#!/usr/bin/env php
<?php
$percent = 0;
for ($i = 0; $i <= 100; $i++) {
echo $percent . "\n";
sleep(1);
$percent++;
}
/**
0
1
...
*/
Run Code Online (Sandbox Code Playgroud)
这是一个向用户显示百分比的简单应用程序.所以我们必须在这个例子中的每个循环之后更新它,而不是追加它.我想改变百分比而不是显示新的百分比.
mysql ×4
php ×4
absolute ×1
annotations ×1
autoloader ×1
bigdata ×1
cldr ×1
docker ×1
doctrine-orm ×1
environment ×1
igbinary ×1
intl ×1
join ×1
linux ×1
mariadb ×1
onchange ×1
phantomjs ×1
search ×1
sql ×1
sql-server ×1
terminal ×1
text ×1
variables ×1