Php 为什么有些数据不';你不能保存在我的数据库里吗?
我在保存数据库中的数据时遇到问题。我的意思是,例如,在我的公告请求表中,标题、描述、图像路径都保存在数据库中,除了由和提交的Php 为什么有些数据不';你不能保存在我的数据库里吗?,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我在保存数据库中的数据时遇到问题。我的意思是,例如,在我的公告请求表中,标题、描述、图像路径都保存在数据库中,除了由和提交的和batchYr之外 我的请求是这样的: <?php $login_session =$row['username']; $position = $row['position']; $login_fname = $row['firstname']; $login_lname = $row['lastname']; $batchYr = $row['batchYr']
和batchYr
之外
我的请求是这样的:
<?php
$login_session =$row['username'];
$position = $row['position'];
$login_fname = $row['firstname'];
$login_lname = $row['lastname'];
$batchYr = $row['batchYr'];
$submittedBy = $login_fname.' '.$login_lname;
if(isset($login_session) and $position=='President'){
?>
<form action="../pres/send_request_announcement.php" method="post" enctype="multipart/form-data">
<label>Submitted by:</label>
<input type="text" name="submittedBy" class="form-control" value="<?php echo $submittedBy;?>" disabled > <br/>
<label>Batch Year:</label>
<input type="text" name="batchYr" class="form-control" value="<?php echo $batchYr;?>" disabled><br/>
<input type="submit" name="submit" value="Request Announcement" style="float: right"/>
</form>
<?php
}
?>
提交人:
首先,退出使用mysql.*
这是一个不推荐使用的坏扩展,您不想习惯使用它
当谈到为什么不能保存到数据库中时:
您使用的是mysql\u*
和mysqli\u*
函数,它们不是同一个库,因此当您使用mysqli
连接到数据库时,您将无法将其用于mysql\u*
调用。
将所有的mysql\u*
调用交换到适当的mysqli\u*
调用,它应该会工作得更好
进一步。。。查看mysqli
的php文档中关于prepared语句的章节。它将帮助您防止sql注入,因为您目前很容易受到sql注入的攻击。我能够找出问题所在。即使我有正确的查询,它也不会保存在数据库中的原因是因为在我的HTML格式中:
<input type="text" name="submittedBy" class="form-control" value="<?php echo $submittedBy;?>" disabled > <br/>
<input type="text" name="batchYr" class="form-control" value="<?php echo $batchYr;?>" disabled > <br/>
只读
也不可编辑。因此,当您想在数据库中保存数据而不需要用户编辑或输入内容时,只需使用readOnly
,而不使用disabled
您正在混合使用mysql和mysqliPlease,减少代码,只保留仍然包含此问题的部分。检查此项:如果这是原因,那么其他列如title、description也不应该保存,但它们保存在数据库中,只是不是由
提交的和batchYr
@Mihaimysqli.*
不被弃用。但是PDO还是比较好的。对不起,那是个错误。当然应该是mysql.*
。谢谢你指出这一点!:)甚至比mysqli_i更好的是使用PDO。帮助我学习PDO的一个很好的教程是。我同意,PDO
在很多方面都更好,我也更喜欢,但在这种情况下,可能值得从mysqli
开始,然后转向更面向对象的方式(使用mysqli或PDO)。我知道mysqli和PDO现在更好了,但我只是想解决这个问题。我不认为这是因为同时使用mysql_*和mysqli tho,因为除了提交的和batchyr
@Jite之外,有些数据正在保存
<input type="text" name="submittedBy" class="form-control" value="<?php echo $submittedBy;?>" disabled > <br/>
<input type="text" name="batchYr" class="form-control" value="<?php echo $batchYr;?>" disabled > <br/>
<input type="text" name="submittedBy" class="form-control" value="<?php echo $submittedBy;?>" readOnly="readOnly">
<input type="text" name="batchYr" class="form-control" value="<?php echo $batchYr;?>" readOnly="readOnly">