在PHP中,它很简单,我假设,array_shift($ string)?
如果没有,我相信有一些同样简单的解决方案:)
但是,有没有办法在javascript中实现相同的功能?
我的具体示例是从地址栏中提取window.location.hash以动态加载特定的AJAX页面.如果哈希是"2",即http://foo.bar.com#2 ......
var hash = window.location.hash; // hash would be "#2"
Run Code Online (Sandbox Code Playgroud)
理想情况下我喜欢关闭#,所以一个简单的"2"被输入到函数中.
谢谢!
我有一台服务器尝试连接到本地网络外部托管的MySQL数据库。我正在尝试使用公共IP地址连接到它。
在命令行中测试连接会给我这个错误:
ERROR 2003 (HY000): Can't connect to MySQL server on '[ip_address]' (146)
PDO给了我同样的错误。无论如何,该连接在本地和同一网络内都可以正常工作,这让我感到困惑。
MySQL服务器已修改其绑定地址,因此它接受远程连接。MySQL服务器还为用户设置了适当的特权。但是无论如何,似乎我一开始都无法启动连接。
我需要添加my.cnf值以使MySQL接受来自本地网络外部的请求吗?
谢谢。
我一直在玩cURL,并试图通过POST变量发送一个数组.我决定使用http_build_query按预期传递字符串:
curl_setopt($this->ch, CURLOPT_POSTFIELDS, http_build_query($sendParams));
Run Code Online (Sandbox Code Playgroud)
我接收端只是简单地print_r使用$ _POST,所以我可以看到正在发送的内容.
但是,我在第一个之后得到一个附加到所有父元素的&符号,这是正常的吗?我假设解析查询字符串时cURL使用parse_str,所以这里是一个超简化的例子,它也导致了&符号:
<?php
$array = array('foo', array('bar' => array('baz' => array(1,2,3))), 'test' => array(2,3,4));
parse_str(http_build_query($array), $vars);
print_r($vars);
?>
Run Code Online (Sandbox Code Playgroud)
返回:
Array ( [0] => foo [amp;1] => Array ( [bar] => Array ( [baz] => Array ( [0] => 1 [1] => 2 [2] => 3 ) ) ) [amp;test] => Array ( [0] => 2 [1] => 3 [2] => 4 ) )
Run Code Online (Sandbox Code Playgroud) 在访问我的数据库时,我让用户填写表单,并在目标页面中,在生成的MySQL查询中使用发布的值.
$query = mysql_query("SELECT pass FROM database WHERE user='$_POST[user]'");
Run Code Online (Sandbox Code Playgroud)
但是,由于某种原因,MySQL不喜欢我在命令中使用$ _POST变量,它只在我定义(例如)时才有效$user = $_POST['user'];,然后将$ user直接放在SQL命令中.
另一方面,我可以在INSERT语句中使用$ _POST值,其中不需要特定的列名:
$query = mysql_query("INSERT INTO database VALUES ('foo', 'bar', '$_POST[user]'");
Run Code Online (Sandbox Code Playgroud)
如果我尝试定义属性的INSERT语句(例如user='foo'),则会出现相同的问题.
我在SQL查询中做错了什么导致命令在运行时出错,但是使用格式化INSERT命令的特定方法?
希望,这不是"运气不好,看起来你必须分配所有发布的价值".嘿.
因此,在我的数据库中,我存储乐器名称(和各种其他属性).假设id是主键,并且name是唯一键.
在PHP脚本中,我按仪器类选择项目,如下所示:
$name = mysql_real_escape_string($_POST['name']);
$row = mysql_fetch_row(mysql_query("SELECT * FROM `instruments` WHERE name LIKE '%$name%' ORDER BY id"));
Run Code Online (Sandbox Code Playgroud)
结果表:
id name
1 "Flute 2"
2 "Bass Flute"
3 "Flute 10"
4 "Flute 7"
Run Code Online (Sandbox Code Playgroud)
这让我可以通过查询"萨克斯风"来选择整个乐器系列,如"Soprano Saxophone","Alto Saxophone"等.
在该特定示例中,结果由它们的id(您可以假设为auto_incremented)引发.更理想的是按字母顺序排序,是吗?
id name
2 "Bass Flute"
3 "Flute 10"
1 "Flute 2"
4 "Flute 7"
Run Code Online (Sandbox Code Playgroud)
这样做很好,但作为音乐家,他们喜欢和数据库管理员打成一片,并且不要在长笛的结果中对"长笛"上面列出的"低音长笛"表示友善,并且真的不善待"长笛10"在"长笛2"之前列出.
因此,看到没有ORDER BY score_order(这太容易了,不会......),我怎么能引入某种订购系统来正确显示仪器?
通过头脑风暴,我找到了一个解决方案:我可以添加一个整数类型的列,并根据它们的重要性(即Piccolos将为"1",Flutes"2"等)对这些工具进行"排名":
... nts` WHERE name LIKE '%$name%' ORDER BY rank, name"));
id name rank
3 "Flute 10" …Run Code Online (Sandbox Code Playgroud) 我一直在使用CSS3选择器根据属性选择特定的元素,尽管今天,我已经将自己编程到一个角落,我需要根据两个不同属性的存在选择一个特定的元素,而不是只有1.
例如,我需要选择第一个div.
<div data-foo="bar" data-bar="baz">
<div data-foo="bar" data-bar="lorem">
<div data-foo="ipsum" data-bar="baz">
Run Code Online (Sandbox Code Playgroud)
只是为了好玩,我试过div[data-foo="bar", data-bar="baz"],但并不奇怪,这不起作用.
我有什么方法可以获得这个特定元素吗?
现在,我能想到的唯一解决方案是选择具有正确data-foo属性的所有元素,然后遍历结果以找到具有正确data-bar属性的元素.
因此,在尝试让我的应用程序在最新的IE上工作之后,事实证明IE不喜欢以下代码:
document.body.getElement('.className');
Run Code Online (Sandbox Code Playgroud)
Firefox和Chrome的反应还不错,但document.body在IE上没有Mootools Element方法.
细算的文件,一些包裹的例子document.body在$()将其暴露在MooTools的方法.
只是想知道它在FireFox/Chrome中工作正常的原因,但不能在IE中自动运行?
我对xargs有一些经验,但是我不太了解该怎么做:
tarsnap --list-archives我可以使用xargs完成此操作:
tarsnap --list-archives | grep 2014-06-09 | xargs -n 1 tarsnap -df
Run Code Online (Sandbox Code Playgroud)
但是,这一次一次只需要一个参数就反复运行tarsnap(这是预期的):
tarsnap -df 2014-06-09-00
tarsnap -df 2014-06-09-01
tarsnap -df 2014-06-09-02
... etc ...
Run Code Online (Sandbox Code Playgroud)
tarsnap文档指出可以通过传递多个-f标志来删除多个归档:
tarsnap -d -f 2014-06-09-00 -f 2014-06-09-01 -f 2014-06-09-02 # ... and so on
Run Code Online (Sandbox Code Playgroud)
有没有办法用xargs做到这一点?
(此外:这样做可能毫无意义,因为我感觉运行带有多个-f标志的tarsnap只会导致tarsnap多次运行,一次仅一个参数...但我可能错了)
所以我创建了一个包含"from"和"to"列的表.
虽然写入表是很好的,因为我在每列中插入一个值(而不是按名称引用列),但每当我想要检索数据(SELECT)时,我想要检索...比如说,只有"来自" "专栏.
除了您猜测之外,它将"from"解释为SQL命令而不是列名.用引号括起来只是让"from"填充结果集.奇怪的.
我可以做一些重命名列吗?(这不是太糟糕,因为该表现在确实没有真正的数据).
谢谢!
我现在拥有的:SELECT from,id FROM permissions
我有两个MySQL服务器配置为主 - 从关系.
大师 - > my.cnf:
server-id=1283522287
log-bin = /var/log/mysql/binary.log // There are write permissions here.
binlog_do_db= foo,bar
Run Code Online (Sandbox Code Playgroud)
奴隶 - > my.cnf:
server-id = 1283706035
master-host = {master internal IP}
master-port = 3306
master-user = {master slave user}
master-password = {master slave user password}
Run Code Online (Sandbox Code Playgroud)
但是,虽然MySQL报告复制已启动并正在运行,但它是:
复制不起作用.无论何时进行更改,主文件日志位置都不会更改.它保持在106的起始大小(字节?).
有人知道我错过了什么吗?
mysql ×5
javascript ×3
php ×3
sql ×2
bash ×1
command-line ×1
css ×1
grep ×1
hash ×1
mootools ×1
post ×1
replication ×1
sorting ×1
xargs ×1