插入变量值在插入mysql查询中取新行

时间:2014-02-06 13:43:07

标签: php mysql

当我尝试在数据库中插入变量值时,它将作为新行。

这是我的mysql查询:

$query4 = "insert into $table (create_date, COMMAND, File_name, parent_id, ack, status, response, response_time, cloud_file_size, download_file_size) values('".date("Y-m-d H:i:s")."','wget' , 'abhi.tar.gz','','1', 'success', ' ".$str." ', '".date("Y-m-d H:i:s")."', '".$tar_size."', '".$size."')";
                    mysql_query($query4);

我认为我的变量需要\ n但我也使用$str=str_replace("\r\n","",$str);

下面在mysql日志中插入查询:

insert into service_logs_2014_02 (create_date, COMMAND, File_name, parent_id, ack, status, response, response_time, cloud_file_size, download_file_size) values('2014-02-06 19:08:19','wget' , '123.tar.gz','','1', 'success', '

2014-02-0619:08:19(7.63MB/s)-`/var/www/html/123/SRC/123.tar.gz'saved[1074190/1074190]

', '2014-02-06 19:08:19', '1.1M        ', '1.1M        ')

请提供解决方案。

3 个答案:

答案 0 :(得分:1)

我不是100%确定您的问题是什么,但如果我理解正确,您想要从您尝试放入查询的字符串中删除换行符吗?

如果是这样的话:

假设换行只发生在字符串的开头和结尾:

您需要使用trim()功能。 trim函数将删除任何前导或尾随换行符和空格字符。 (查看您的查询,您可能也希望在其他字段上使用)

如果字符串中可能出现换行符:

简单的解决方案是使用str_replace()函数删除所有换行符,然后再使用trim()函数删除任何行间距/尾随空格,如下所示:

$str = str_replace(array("\r", "\n"), array('', ''), $str);
$str = trim($str);

答案 1 :(得分:0)

这是因为您插入的值存在问题

2014-02-0619:08:19(7.63MB/s)-`/var/www/html/123/SRC/123.tar.gz'saved[1074190/1074190]

在插入值时,您在“123.tar.gz之前”。尝试在查询中使用mysql_real_escape_string

示例:

insert into service_logs_2014_02 (create_date, COMMAND, File_name, parent_id, ack, status, response, response_time, cloud_file_size, download_file_size) values('2014-02-06 19:08:19','wget' , '123.tar.gz','','1', 'success', mysql_real_escape_string('

2014-02-0619:08:19(7.63MB/s)-`/var/www/html/123/SRC/123.tar.gz'saved[1074190/1074190]

'), '2014-02-06 19:08:19', '1.1M        ', '1.1M        ')

答案 2 :(得分:0)

我得到了解决方案。

问题与grave accentApostrophe(')符号巫婆的价值

见下文:

2014-02-0619:08:19(7.63MB/s)-`/var/www/html/123/SRC/123.tar.gz'saved[1074190/1074190]

我删除了符号并解决了问题。

感谢您的支持。