【发布时间】:2020-05-07 20:19:01
【问题描述】:
我创建了一个表单,只要我点击提交的输入,它就会将列上的值写入数据库表。
到目前为止一切都很好,但是当当前页面重新加载时,我看不到写入数据库的结果。
只有在同一页面上第二次提交表单才能看到结果。
我的代码:
<?php
$increId = $_order->getRealOrderId();
$pathAss = 'My file';
$connectionresource = Mage::getSingleton('core/resource');
$connectionWrite = $connectionresource->getConnection('core_write');
$table = 'sales_flat_order';
$query = "UPDATE ".$table." "
. "SET upload_file_1='" . $pathAss . "'"
. " WHERE increment_id='".$increId."'";
$connectionWrite->query($query);
?>
<form id="abbLogoOrder" action="" method="post" enctype="multipart/form-data">
<a href="<?php echo $_order->getupload_file_1(); ?>"
title="<?php echo basename($_order->getupload_file_1()); ?>">
<?php echo basename($_order->getupload_file_1()); ?>
</a> //THIS VALUE RETURNS EMPTY AFTER FIRST SUBMIT FORM
<b>
<?php
/* $testget = ['getupload_file_'.$count.'()'];
echo $_order->$testget; */
?>
</b>
<div class="upload-btn-wrapper">
<button class="btn" style="font-size:13px;">SELECT YOUR FILES</button>
<input type="file" name="abbFile<?php echo $count; ?>[]" id="abbFile<?php echo $count; ?>" multiple="multiple" />
<input type="submit" value="SEND" />
</div>
</form>
我做错了什么?
【问题讨论】:
-
$mysqli -> affected_rows;in mysqli 和rowCountin pdo : w3schools.com/php/func_mysqli_affected_rows.asp 您收到的成功消息意味着您发送的所有变量都已插入。 -
我花了一些时间来编辑代码,让它变得可读。一些建议:1)为了可读性,不要使用标签。它可能适合您,但不会适合其他所有人。您的编辑器应该能够将制表符转换为空格。 2) 你对 sql 注入持开放态度。使用准备好的语句。 3) POST 提交后应在处理用户输入后使用 GET(PRG 模式)进行重定向。抱歉,这些 cmets 都不能解决您的问题,但尚不清楚
$_order是如何获取其信息的。 -
检查页面重新加载时 $increId 的返回值。我认为它可能为空
标签: php mysql database forms magento