我已经看到这个问题被问了很多次,但是他们都很长,我只是无法理解他们正在做的事情......所以,有人能告诉我如何从中得到LAST_INSERT_ID()
这个使用PDO进入php的过程:
CREATE TABLE names (
ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name varchar(50) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
CREATE DEFINER=`root`@`localhost` PROCEDURE `simpleProcedure`(newname varchar(50), OUT returnid INT(11))
BEGIN
INSERT INTO names (name) VALUES (newname);
SET returnid = LAST_INSERT_ID();
END
Run Code Online (Sandbox Code Playgroud)
$stmt=$db->prepare("CALL simpleProcedure(:name,:returnid)");
$stmt->bindValue(':name',$name,PDO::PARAM_STR);
$stmt->bindParam(':returnid',$returnid,PDO::PARAM_INT,11);
$stmt->execute();
echo $returnid;
Run Code Online (Sandbox Code Playgroud)
但是,对于脑细胞比我更多的人来说,这可能是显而易见的.任何帮助赞赏.
好吧,试着弄清楚这个有点疯狂.(我已经阅读了数百个问题/答案,谷歌文章,但没有人回答)
我刚刚mod_php
使用PHP,通过FastCGI和fpm,使用这个问题中描述的方法,纯粹是因为我觉得使用这个设置为各个vhosts指定php.ini文件是"容易的".
我把头发拉出来的是,如何指定每个vhost使用的自定义PHP ini文件?
幸运的是,到目前为止它只在我的测试台上...但我希望在我的生产服务器上做同样的事情,如果我能想到这一点
我有当前的设置:
SVR01:Ubuntu Trusty,与Xen
VM01:IP:192.168.0.10 Ubuntu Trusty,带有Apache2 + php模块
VM02:IP:192.168.0.11 Ubuntu Trusty,带有mysql服务器
当我尝试从VM01(apache服务器)连接到VM02上的mysql时,我得到"拒绝访问'NewUser'@'192.168.0.10'(使用密码:是)"错误.
我创建了用户:
CREATE USER 'NewUser'@'192.168.0.10' IDENTIFIED BY 'password';
GRANT EXECUTE ON mydb.* TO 'NewUSer'@'192.168.0.10';
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用主机通配符创建用户,它将起作用:
CREATE USER 'NewUser'@'%' IDENTIFIED BY 'password';
GRANT EXECUTE ON mydb.* TO 'NewUSer'@'%';
Run Code Online (Sandbox Code Playgroud)
当我指定主机IP时,有谁知道为什么它不起作用?
PS.尝试通过Mysql客户端或通过PHP PDO连接时,我收到错误.
我有一个非常简单的要求,但我已经尝试了我能想到的所有转义序列,但无法获得所需的输出。
我需要几乎输出到一个文件中:
%{VAR}
Run Code Online (Sandbox Code Playgroud)
这是我的 YAML 文件:
myclass::outputstuff:
- Heres a litteral var %{VAR}
- Heres something else %{SOMETHING}
Run Code Online (Sandbox Code Playgroud)
还有我的 template.erb:
<%= @outputstuff.each do | ostuff | -%>
<%= ostuff -%>
<% end -%>
Run Code Online (Sandbox Code Playgroud)
但它像这样,它输出:
Heres a litteral var
Heres something else
Run Code Online (Sandbox Code Playgroud)
如果我像%%{VAR}
其他帖子所建议的那样添加一个百分号,它会输出:
Heres a litteral var %
Heres something else %
Run Code Online (Sandbox Code Playgroud)
如果我添加一个像%\{VAR}
它输出的反斜杠:
Heres a litteral var %\{VAR}
Heres something else %\{SOMETHING}
Run Code Online (Sandbox Code Playgroud)
我需要这个哈哈:
Heres a litteral var %{VAR}
Heres something else %{SOMETHING}
Run Code Online (Sandbox Code Playgroud) 今天,我遍历了ELK堆栈,并且一切正常,但是由于某些原因,Kibana将自己的消息以JSON格式记录到syslog中。例如:
Oct 19 18:49:28 elk-host kibana[11111]: {"type":"response","@timestamp":"2016-10-19T17:49:28+00:00","tags":[],"pid":22749,"method":"post","statusCode":200,"req":{"url":"/elasticsearch/logstash*/_field_stats?level=indices","method":"post","headers":{"host":"1.2.3.4:5601","connection":"keep-alive","content-length":"178","accept":"application/json, text/plain, */*","origin":"http://1.2.3.4:5601","kbn-version":"4.4.2","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36","content-type":"application/json;charset=UTF-8","referer":"http://1.2.3.4:5601/app/kibana","accept-encoding":"gzip, deflate","accept-language":"en-US,en;q=0.8"},"remoteAddress":"5.6.7.8","userAgent":"5.6.7.8","referer":"http://1.2.3.4:5601/app/kibana"},"res":{"statusCode":200,"responseTime":11,"contentLength":9},"message":"POST /elasticsearch/logstash*/_field_stats?level=indices 200 11ms - 9.0B"}
Run Code Online (Sandbox Code Playgroud)
所有其他日志均采用常规格式
这是故意的还是我错过了某个地方的Kibana设置?
如果这是故意的,我可能只会添加一个syslog过滤器以正确记录它...但是希望我不必