小编sjw*_*sjw的帖子

插入MySQL时,在PHP中转义单引号

我有一个令人困惑的问题,我似乎无法理解......我希望有人能指出我正确的方向......

我有两个SQL语句: - 第一个将表单中的信息输入数据库. - 第二个从上面输入的数据库中获取数据,发送电子邮件,然后记录交易的详细信息

问题是看起来单引号只在第二个条目上触发MySQL错误!第一个实例没有问题,但第二个实例触发了mysql_error().

表单中的数据是否与表单中捕获的数据处理不同?

查询#1 - 这没有问题(并且没有转义单引号)

$result = mysql_query("INSERT INTO job_log
(order_id, supplier_id, category_id, service_id, qty_ordered, customer_id, user_id, salesperson_ref, booking_ref, booking_name, address, suburb, postcode, state_id, region_id, email, phone, phone2, mobile, delivery_date, stock_taken, special_instructions, cost_price, cost_price_gst, sell_price, sell_price_gst, ext_sell_price, retail_customer, created, modified, log_status_id)
VALUES
('$order_id', '$supplier_id', '$category_id', '{$value['id']}', '{$value['qty']}', '$customer_id', '$user_id', '$salesperson_ref', '$booking_ref', '$booking_name', '$address', '$suburb', '$postcode', '$state_id', '$region_id', '$email', '$phone', '$phone2', '$mobile', STR_TO_DATE('$delivery_date', '%d/%m/%Y'), '$stock_taken', '$special_instructions', '$cost_price', '$cost_price_gst', '$sell_price', '$sell_price_gst', '$ext_sell_price', '$retail_customer', '".date('Y-m-d …
Run Code Online (Sandbox Code Playgroud)

php mysql escaping insert

181
推荐指数
7
解决办法
19万
查看次数

PHP生成csv没有发送正确的新换行符

我有一个脚本,使用以下代码生成一个csv文件:

header('Content-type: text/csv');
header('Content-Disposition: attachment; filename="'.date("Ymdhis").'.csv"');
print $content;
Run Code Online (Sandbox Code Playgroud)

$ content变量只包含以逗号分隔的字段,然后用."\n"结束.生成一个新行.

当我打开CSV文件看起来好像没什么但是,当我尝试使用该文件导入到外部程序(MYOB)它不承认结束线(\n)的角色和承担文本的一个长行.

当我在记事本中查看文件的内容时,行尾字符(\n)是一个小矩形框,看起来像字符代码0x7F.

如果我打开文件并将其重新保存在excel中,它将删除此字符并将其替换为正确的行尾字符,然后我可以导入该文件.

我需要在PHP中生成什么字符,以便记事本将其识别为有效的行尾字符?(\n)显然不能胜任这项工作.

php csv newline

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

在PHP中使用file_get_contents时访问$ _SESSION

我有一个名为send.email.php的页面,它发送一封电子邮件 - 非常简单的东西 - 我传递了一个订单ID,它创建了作业请求并将其发送出去.这在我开发它的上下文中使用时工作正常(使用javascript对URL进行AJAX调用并将order_id作为查询参数传递)

我现在正试图在另一个应用程序中重用完全相同的页面,但我使用php调用它file_get_contents($base_url.'admin/send.email.php?order_id='.$order_id).当我以这种方式调用页面时,$ _SESSION数组为空isempty()= 1.

这是因为我正在使用启动一个新会话,file_get_contents并且我在登录时存储在$ _SESSION中的值是不可用的?

- >感谢您的反馈.有意义的是,新呼叫无法访问现有会话......

但是新问题:

我现在得到:无法打开流:HTTP请求失败!尝试执行时:

$opts = array('http' => array('header'=> 'Cookie: ' . $_SERVER['HTTP_COOKIE']."\r\n"));
$context = stream_context_create($opts);
$contents = file_get_contents($base_url.'admin/send.sms.php?order_id='.order_id, false, $context);
Run Code Online (Sandbox Code Playgroud)

是的,如果我将其称为以下URL,则URL工作正常:(它只是不允许我访问会话)

$result file_get_contents($base_url.'admin/send.sms.php?order_id='.$order_id);
Run Code Online (Sandbox Code Playgroud)

php session file-get-contents

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

用双引号括起来的csv文件不会删除引号

我从我的网络服务器生成一个csv下载,为了安全起见,我用双引号括起了每个字段.

"Field1","Field2","Field3","Field4"
"row1_field1","row1_field2","row1_field3","row1_field4"
"row2_field1","row2_field2","row2_field3","row2_field4"
Run Code Online (Sandbox Code Playgroud)

问题是当在Excel中打开文件时,它不会删除所有引号...因此,某些字段显示为:row1_field1而其他字段显示为"row1_field2"

我没有做什么来确保excel剥离所有周围的引号?

csv quotes excel

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

标签 统计

php ×3

csv ×2

escaping ×1

excel ×1

file-get-contents ×1

insert ×1

mysql ×1

newline ×1

quotes ×1

session ×1