gpt4 book ai didi

php - 报告去哪儿了? PHP 到 MySQL

转载 作者:行者123 更新时间:2023-11-29 11:36:44 24 4
gpt4 key购买 nike

以下是我尝试发送到数据库的报告。我相信 php 代码工作得很好,因为创建了行。但reportdata列始终为空。列类型为 varchar。是因为报告以#开头吗?以下调用创建一行,但在报表数据列中没有任何内容。给出自动增量id。

http://www.someaddress.com/savereport.php?reportdata=#98#1#4#14#3#48#8#88#04/06/2016%2008:05:54%20PM

如果我将报告更改为基本文本,它就会起作用。这是怎么回事?

http://www.someaddress.com/savereport.php?reportdata=basictext

这是执行这些操作的 php 代码:

mysqli_set_charset($dbc, 'utf8');

$reportdata = mysqli_real_escape_string($dbc, $_GET['reportdata']);

$query = "INSERT INTO `onwordreports`(`reportdata`) VALUES ('$reportdata')";

$result = mysqli_query($dbc, $query) or trigger_error("Veri yükleme başarısız: " . mysqli_error($dbc));

echo $result;

mysqli_close($dbc);

最佳答案

我同意警告,这是一种非常糟糕的处理方式。即使有mysql_real_escape_string ,您对注入(inject)仍然有明确的担忧。

由于您已经在使用 mysqli,切换到准备好的语句是 fairly trivial

现在,话虽如此......我只想做 echo ("$reportdata");查看它实际尝试插入的值。获取该值并手动运行查询 - 您是否收到任何错误?您可以看到如何mysqli_real_escape_string正在清理输入,您可以查看这是否会破坏查询。

关于php - 报告去哪儿了? PHP 到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36457973/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com