我有一个帖子表单,它将我的文本插入MySQL数据库.
我用
$post_text = mysql_real_escape_string(htmlspecialchars($_POST['text']));
Run Code Online (Sandbox Code Playgroud)
并想要替换\r\n自动添加的内容.
我试过了
$text = str_replace('\\r\\n','', $text);
$text = str_replace('\r\n','', $text);
$text = str_replace('\\R\\N','', $text);
$text = str_replace('\R\N','', $text);
$text = str_replace('/\r\\n','', $text);
$text = str_replace('/r/n','', $text);
$text = str_replace('/\R\\N','', $text);
$text = str_replace('/R/N','', $text);
Run Code Online (Sandbox Code Playgroud)
但\r\n始终包含在我的数据库条目中.
我怎样才能解决这个问题?
我想知道bindParam()(或bindValue())中的数据类型声明用于...
我的意思是,我认为如果我定义一个整数参数(PDO::PARAM_INT),必须将参数转换为整数,类似于
$delete->bindParam(1, $kill, PDO::PARAM_INT);
// should work like
$delete->bindParam(1, (int)$kill);
Run Code Online (Sandbox Code Playgroud)
或者如果参数不是声明的类型,至少抛出一个错误.但这种情况并非如此.
谷歌搜索,我发现在php.net档案:
大家好,
我目前正在研究PDO.正好在bindParam()函数上.第三个参数data_type似乎在这里强制值的类型?但是当我尝试:
Run Code Online (Sandbox Code Playgroud)$sql = "INSERT INTO produit (idproduit, nom, marque) VALUES (NULL, :nom, :marque)"; $stmt = $dbh->prepare($sql); $nom = 'Testarossa'; $marque = 'Ferrari' ; $stmt->BindValue(':marque',$marque) ; $stmt->BindParam(':nom',$nom,PDO::PARAM_INT) ; $stmt->execute(); $nom = '250 GTO' ; $stmt->execute(); ?>我希望在我的数据库中有PHP错误或整数.但在我的数据库中我有:
22 Testarossa Ferrari 23 250 GTO法拉利
这意味着如果我有第三个参数,它不会改变.或许我想念一些东西.有人能容忍我吗?或者只是有人告诉我在哪里可以找到有关它的信息.
问候,
Cyruss
这正是我的情况.我的想法出了什么问题?
我正在使用PDO从SQL服务器上获取数据.后来我发现是这样的:如果SQL服务器不可用,它需要真正的(相对)长此代码返回一个例外:
try {
$handle = new PDO($db_type . ':host='.$db_host.';dbname='.$db_name,$db_user,$db_pass);
// Tried using PDO::setAttribute and PDO::ATTR_TIMEOUT here
} catch(PDOException $e) {
echo $e->getMessage;
}
Run Code Online (Sandbox Code Playgroud)
在MySQL的情况下,发生异常只需要2分钟(SQLSTATE [HY000] [2003]无法连接到MySQL服务器......)和PostgreSQL上的30秒(SQLSTATE [08006] [7]超时到期).
我尝试使用PDO :: setAttribute和PDO :: ATTR_TIMEOUT,但它不起作用.我认为这是有道理的,因为问题发生在这个陈述之前.
有没有办法设置连接到DB的超时?对于PDO而言,2分30秒对我来说似乎很长时间才意识到那里什么也没有.
我想我看到这是在某个地方完成的,但在我的生活中再也找不到它.
我正在尝试使用Filezilla连接到FTP服务器.当我使用宽带时,它正在工作,但当我使用我的大学互联网时,它说:
Error: Connection timed out
Error: Failed to retrieve directory listing
Run Code Online (Sandbox Code Playgroud)
我尝试了被动和主动模式,但都是徒劳的.它连接但无法提供目录列表.
以下是活动模式的完整日志
Status: Resolving address of where2service.com
Status: Connecting to 166.62.2.1:21...
Status: Connection established, waiting for welcome message...
Response: 220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Response: 220-You are user number 22 of 500 allowed.
Response: 220-Local time is now 05:09. Server port: 21.
Response: 220-This is a private system - No anonymous login
Response: 220 You will be disconnected after 3 minutes of inactivity.
Command: USER where2service
Response: …Run Code Online (Sandbox Code Playgroud) 我想在使用带货币的NumberFormatter PHP类(来自Intl扩展名)时设置精度为0 .但是我得到了一些奇怪的结果.这里:
$numberFormatter = new NumberFormatter('en-US', NumberFormatter::CURRENCY);
$numberFormatter->setAttribute(NumberFormatter::FRACTION_DIGITS, 0);
echo $numberFormatter->formatCurrency('45', 'USD');
Run Code Online (Sandbox Code Playgroud)
它输出$45,这是我想要的.但是,如果我EUR使用相同的设置更改货币:
echo $numberFormatter->formatCurrency('45', 'EUR');
Run Code Online (Sandbox Code Playgroud)
它输出€45.00(虽然我明确地设置为零精度).
更奇怪的是,如果我将语言环境设置为fr-FR,它会按预期输出数字:
$numberFormatter = new NumberFormatter('fr-FR', NumberFormatter::CURRENCY);
$numberFormatter->setAttribute(NumberFormatter::FRACTION_DIGITS, 0);
echo $numberFormatter->formatCurrency('45', 'EUR');
Run Code Online (Sandbox Code Playgroud)
它输出45 €.
这是一个错误吗?
我们要求将PHP版本(5.3.25)升级到当前的稳定版本5.6.17.因此,为此我们需要找到哪种方法最好.
除了升级之外,在执行此操作时我们应该记住所有事情.
如果您有任何我们可以参考的文件,那将是件好事.
有没有办法告诉javascript函数即使手机被锁定也能继续运行?
几乎我有一个计时器,我需要继续运行,即使手机设置为空闲.
我从http://phpseclib.sourceforge.net/下载了phpseclib-0.3.10
我的PHP版本:PHP 5.2.4
操作系统:CentOS版本6.6
当我运行以下时,我在这一行得到"分段故障" $ssh->login('username', 'password')
<?php
set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib');
include('Net/SSH2.php');
$ssh=new Net_SSH2('servername');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->exec('pwd');
?>
Run Code Online (Sandbox Code Playgroud)
我无法找到这个问题的原因.你能帮我找到原因吗?
我是MySQL的新手,经过长时间的搜索,我能够配置基于主从ROW的复制.我认为这是安全的,我不必一次又一次地重新检查它.
但今天当我SHOW SLAVE STATUS;做奴隶时,我发现了以下
无法在表mydatabasename.atable上执行Write_rows事件; 键'PRIMARY'重复输入'174465',Error_code:1062; 处理程序错误HA_ERR_FOUND_DUPP_KEY; 事件的主日志mysql-bin.000004,end_log_pos 60121977
有人可以告诉我,当master没有这样的错误并且两台服务器上的架构相同时,甚至可能会发生这种情况.以及如何修复它以使其再次工作以及如何在将来防止此类事情.
还请告诉我除了这个之外还有什么意想不到的.
在我的PHP代码中,我想创建一个读/写代码.因此,将会有一个PHP代码读取或写入的文件.只能有1位作者,或者可以有很多读者,但您可以同时进行书写和阅读.
如何在PHP中完成?我相信你需要使用flock代码?