我正在将一个字段迁移到一个新表.新表有三个字段.我试过的是
INSERT INTO foo VALUES ('', (SELECT bar FROM baz GROUP BY bar), '');
Run Code Online (Sandbox Code Playgroud)
这导致由于select导致的多行导致的错误.
这样做的正确方法是什么?
我有一个包含1/2万个短语的表,我正在使用此查询进行单词匹配:
SELECT * FROM `searchIndex` WHERE `indexData` RLIKE '[[:<:]]Hirt'
Run Code Online (Sandbox Code Playgroud)
indexData字段具有FULLTEXT索引,并且是数据类型longtext.
我希望匹配像这样的项目
"Alois M. Hirt"
"Show Biz - Al Hirt,担任新角色,......"
"Al Hirt的Sinatraville打开9 p ..."
"Hirt会玩......"
而不是"衬衫"或"十三"或"三十"等
查询是成功的,但它经常需要3秒才能返回,我想知道是否有更好,更有效的方法来进行这种单词边界匹配?
如果我要为indexData添加另一个索引,那么使用的键长是多少?
TIA
使用PHP从用户提交的文本生成有效XML的最佳实践是什么,例如带有&符号,尖括号,非ascii重音字符,新行等的电子商务销售数据等.
人们依赖什么功能,库,正则数据?
我有一个客户想要在一个居中的弹出窗口中打开各种大小的图像.我试图让他们使用FancyBox,但他们不想要插页式演示,所以...
我最初打开一个通用弹出窗口,根据图像大小重新调整大小和居中onload但他们不喜欢移位所以我添加了一个PHP脚本来回显大小并使用jQuery来获取大小信息以提供给弹出调用.
但似乎这导致的延迟是引发所有弹出窗口拦截器.
这是JS
$("#portfolioBigPic").click(function () {
var src = $("#portfolioBigPic").attr('src');
var ar = src.split('/');
var fname = ar.pop();
fname = '/g/portfolio/clients/big/' + fname;
$.get("imgsize.php", { i: fname}, function(data){
var dim = data.split(",");
popit(fname,dim[0],dim[1]);
});
});
function popit(img,w,h) {
var features = 'width='+w+',height='+h+', toolbar=0, location=0, directories=0, status=0, menubar=0, scrollbars=0, resizable=1,';
var left = (screen.width/2)-(w/2);
var top = 0;
features += 'top='+top+',left='+left;
bigpic = window.open('portfolioBigPic.php?img='+img, 'bigpic',features);
bigpic.focus();
}
Run Code Online (Sandbox Code Playgroud)
躲避阻挡者和失败之间的唯一区别是我添加了AJAX .get并使用它来指定w和h.
有关如何避免这种情况的任何想法?也许我应该使用PHP来获取所有大图片的宽度和高度,并在此页面加载时编写它们的JS数组?我是否正确,因为获取数据导致的延迟使拦截器绊倒?
思考?任何建议都非常感谢.
JG
//编辑 - 添加我的解决方案Per Spiky的答案我需要将popit()调用移出AJAX调用的成功处理程序,以便调用发生在用户的click事件的上下文中.
所以我意识到当点击我的小拇指来设置大图像的预览(#portfolioBigPic)时,我可以在那时查找完整大小的图片.所以我将AJAX大小向上移动到拇指的click().
HTH有人.
Firebug 向我展示了以下内容:

从以下验证器初始化:
$("#surveyForm").validate({
errorPlacement: function(error, element) {
if ( element.is(":radio") ) {
error.appendTo ( '#' + element.attr('name') + '_multiError' );
} else if ( element.is(":checkbox") ) {
error.appendTo ( '#' + element.attr('name') + '_multiError' );
} else {
error.appendTo( element.parent() );
}
},
rules: {
ans_23: {
depends: function(element) {
return $("#ans_22:checked")
}
}
},
debug: true
});
Run Code Online (Sandbox Code Playgroud)
该规则基于此处规则下的第二个示例。
被引用的 HTML 看起来像这样
<td class='two_columns'>
<label>
<input type='radio' name='rad_22' id='ans_22' class='required' value='Yes' /> Other
</label>
<input type='text' name='ans_23' …Run Code Online (Sandbox Code Playgroud) 我的初始.htaccess只允许访问目录中的非php文件:
Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js|pdf)$">
Allow from all
</Files>
Run Code Online (Sandbox Code Playgroud)
我想允许现在访问一个特定的php文件(相对路径来自.htaccess foo/bar/baz.php)
尝试添加
<Files foo/bar/baz.php>
order deny,allow
Allow from all
</Files>
Run Code Online (Sandbox Code Playgroud)
也试过了
<Files ~ "(baz)$">
order deny,allow
Allow from all
</Files>
Run Code Online (Sandbox Code Playgroud)
如何为这个文件添加访问权限?
我想在DreamHost VPS上安装Composer
Linux 3.1.9-vs2.3.2.5vs2.3.2.5 +
Web PHP版本5.4.11
CLI版本PHP 5.4.11(cli)
phpinfo()输出只有一个对phar的引用,它说--enable-phar=shared但是当我尝试以下输出时说我需要启用phar.
sudo -u myuser curl -sS https://getcomposer.org/installer | /usr/local/php54/bin/php
#!/usr/bin/env php
Some settings on your machine make Composer unable to work properly.
Make sure that you fix the issues listed below and run this script again:
The phar extension is missing.
Install it or recompile php without --disable-phar
Run Code Online (Sandbox Code Playgroud)
我是否必须重新编译PHP以启用par扩展?
这是整个当前配置命令
'./configure' '--prefix=/usr/local/php54' '--datadir=/usr/local/php54/share' '--localstatedir=/usr/local/php54/var' '--without-pear' '--with-config-file-path=/etc/php54' '--with-config-file-scan-dir=/etc/php54/conf.d' '--with-zend-vm=GOTO' '--enable-cgi' '--enable-fpm' '--enable-libxml=shared' '--enable-bcmath=shared' '--enable-calendar=shared' '--enable-ctype=shared' '--enable-dom=shared' '--enable-exif=shared' '--enable-fileinfo=shared' '--enable-filter=shared' '--enable-ftp=shared' …Run Code Online (Sandbox Code Playgroud) 所以我有一张桌子,有start,end和taxi,和driver.城市现在希望按月查看哪些出租车在一个月内以及何时发生任何变化.
因此,此抓取分配行于2014年7月开始,于2014年7月结束,或正在进行(在7月之前开始,在月之后结束或尚未结束).
我的问题是,是否有更高效或更优雅的查询来获取这些行?
SELECT * FROM `taxi_assignments` WHERE
(`start` BETWEEN '2014-07-01 00:00:00' AND '2014-07-31 23:59:59')
OR (`end` BETWEEN '2014-07-01 00:00:00' AND '2014-07-31 23:59:59')
OR (`start` < '2014-07-01 00:00:00' AND
(`end` > '2014-07-31 23:59:59' OR `end` = '0000-00-00 00:00:00')
)
Run Code Online (Sandbox Code Playgroud) 无法想象这里有什么问题.阅读以下人们的意见:http://informationideas.com/news/2006/06/14/fatal-error-cannot-use-string-offset-as-an-array-in/ 这里:不能使用字符串偏移作为PHP中的数组
我有 - 来自谷歌日历print_r()的实际价值$entries,他们都很好.
foreach ( $entries as $e ) {
$info = array(); // added to see if pre-declaration helps
$info = array(
$e[ 'title' ],
$e[ 'gd:when attr' ][ 'startTime' ],
$e[ 'gd:where attr' ][ 'valueString' ],
$e[ 'content' ]
);
}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
转储$entries:
Array
(
[id] => http://www.google.com/calendar/feeds/u879een48cs77cp2rv7s05f5ps%40group.calendar.google.com/public/full/aev64a1c7kou9ige6n2mulm8mo
[published] => 2009-12-31T15:34:47.000Z
[updated] => 2009-12-31T15:34:58.000Z
[category attr] => Array
(
[scheme] => http://schemas.google.com/g/2005#kind
[term] => http://schemas.google.com/g/2005#event
) …Run Code Online (Sandbox Code Playgroud) 我正在使用blueimp和user_dirs(基于会话的上传目录).
在FF,Chrome,Safari等上传完成后,我会看到缩略图显示.
在上传完成后的IE 9中,我看到"Error SyntaxError:Invalid character".IE开发面板显示没有错误.AND ...如果我刷新缩略图显示并且上传成功.
在IE 8中它是相同的,但我得到"错误[对象错误]",如果刷新我看到上传成功,缩略图存在和链接.
如果我使用Chrome提取收到的JSON,我会看到如下条目:
{
"files": [{
"name": "us (1).jpg",
"size": 40294,
"type": "image\/jpeg",
"url": "http:\/\/upload.mysite.com\/uploads\/9cb5b4df96928f247b5bce2d4ed8a300\/us%20%281%29.jpg",
"thumbnail_url": "http:\/\/upload.mysite.com\/uploads\/9cb5b4df96928f247b5bce2d4ed8a300\/thumbnail\/us%20%281%29.jpg",
"delete_url": "http:\/\/upload.mysite.com\/blueimp\/server\/php\/?file=us%20%281%29.jpg",
"delete_type": "DELETE"
}]
}
Run Code Online (Sandbox Code Playgroud)
我下一步调试这个是什么?有没有办法在IE的开发面板中访问实际错误?
// 5.29 12:27 CST更新
当使用IE时,它在main.js中的/cors/result.html上获得了404:
$('#fileupload').fileupload(
'option',
'redirect',
window.location.href.replace(
/\/[^\/]*$/,
'/cors/result.html?%s'
)
);
Run Code Online (Sandbox Code Playgroud)
更新到正确的路径时:
$('#fileupload').fileupload(
'option',
'redirect',
window.location.href.replace(
/\/[^\/]*$/,
'/blueimp/cors/result.html?%s'
)
);
Run Code Online (Sandbox Code Playgroud)
我现在得到"错误清空文件上传结果",但在刷新显示上传成功之前按照...
找到另一个404文件:jquery.xdr-transport.js
修正路径,现在一切都很顺利.
//结束更新
php ×4
jquery ×3
mysql ×3
regex ×2
sql ×2
.htaccess ×1
ajax ×1
apache ×1
arrays ×1
blueimp ×1
command-line ×1
composer-php ×1
date-range ×1
javascript ×1
linux ×1
phar ×1
popup ×1
xml ×1