小编Jul*_*Lam的帖子

Shift js string一个字符

在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"被输入到函数中.

谢谢!

javascript hash

4
推荐指数
2
解决办法
1万
查看次数

无法连接到远程MySQL Server

我有一台服务器尝试连接到本地网络外部托管的MySQL数据库。我正在尝试使用公共IP地址连接到它。

在命令行中测试连接会给我这个错误:

ERROR 2003 (HY000): Can't connect to MySQL server on '[ip_address]' (146)

PDO给了我同样的错误。无论如何,该连接在本地和同一网络内都可以正常工作,这让我感到困惑。

MySQL服务器已修改其绑定地址,因此它接受远程连接。MySQL服务器还为用户设置了适当的特权。但是无论如何,似乎我一开始都无法启动连接。

我需要添加my.cnf值以使MySQL接受来自本地网络外部的请求吗?

谢谢。

mysql

4
推荐指数
1
解决办法
3万
查看次数

parse_str在元素之前加上&符号?

我一直在玩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)

php

4
推荐指数
1
解决办法
1930
查看次数

我应该如何在mysql_query函数中编写PHP $ _POST变量?

在访问我的数据库时,我让用户填写表单,并在目标页面中,在生成的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命令的特定方法?

希望,这不是"运气不好,看起来你必须分配所有发布的价值".嘿.

php mysql sql post sql-injection

3
推荐指数
1
解决办法
5万
查看次数

按任意顺序排序SQL行输出?

因此,在我的数据库中,我存储乐器名称(和各种其他属性).假设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)

php mysql sql sorting

3
推荐指数
2
解决办法
3341
查看次数

按属性选择CSS元素[复数!]

我一直在使用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属性的元素.

javascript css css-selectors

3
推荐指数
1
解决办法
258
查看次数

为什么我需要使用Mootools Element方法扩展document.body $(document.body)?

因此,在尝试让我的应用程序在最新的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中自动运行?

javascript internet-explorer mootools

3
推荐指数
1
解决办法
309
查看次数

更改xargs参数以在每个参数中包含标志的方法?

我对xargs有一些经验,但是我不太了解该怎么做:

  • 我有一个使用tarsnap检索的档案列表 tarsnap --list-archives
  • 我想删除某一天的所有存档(每天制作24个)

我可以使用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多次运行,一次仅一个参数...但我可能错了)

bash command-line grep xargs

3
推荐指数
1
解决办法
892
查看次数

我在数据库表中使用"from"和"to"作为列标题,如何选择它们?

所以我创建了一个包含"from"和"to"列的表.

虽然写入表是很好的,因为我在每列中插入一个值(而不是按名称引用列),但每当我想要检索数据(SELECT)时,我想要检索...比如说,只有"来自" "专栏.

除了您猜测之外,它将"from"解释为SQL命令而不是列名.用引号括起来只是让"from"填充结果集.奇怪的.

我可以做一些重命名列吗?(这不是太糟糕,因为该表现在确实没有真正的数据).

谢谢!

我现在拥有的:SELECT from,id FROM permissions

mysql

2
推荐指数
1
解决办法
90
查看次数

Master Log Position不在MySQL Replication中移动

我有两个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报告复制已启动并正在运行,但它是:

  • "显示主人身份;" 给出有效的职位和档案
  • "show slave status\G"报告Slave_IO_Running和Slave_SQL_Running都是"是".
  • 从主站看,从站显示在已连接从站列表中.

复制不起作用.无论何时进行更改,主文件日志位置都不会更改.它保持在106的起始大小(字节?).

有人知道我错过了什么吗?

mysql replication

2
推荐指数
1
解决办法
3098
查看次数