【问题标题】:In PHP i'm not getting desire id it's returning me as 0在 PHP 中,我没有得到想要的 id,它把我返回为 0
【发布时间】:2015-01-03 05:51:01
【问题描述】:

这是我的一段代码 我遇到了一个问题,下面是我在数据库中的主题和测试表。当我从“ADDTEST.php”页面上的下拉菜单中选择一个主题并想要添加到测试表中时,它无法从“主题表”中获取 sub_id 并且它将“Sub_id”作为 0 ... 'ADDTEST.PHP'

<td>Select Subject</td> 
<td><select name="sub_id">
<?php
include ("database.php");
$rs=mysql_query("Select * from mst_subject");
while($row=mysql_fetch_array($rs))
{
$sub_id=$row['sub_id'];
?>
<option> <? echo $row['sub_name']; ?></option>
<?
}
?> </select>
<?php
include ("database.php");
if($_POST[submit]=='Save' || strlen($_POST['sub_id'])>0 )
{
$testname=$_POST['test_name'];
$totque=$_POST['totque'];
$sub_id=$_POST['sub_id'];
mysql_query("insert into mst_test(sub_id,test_name,total_que) values
('$sub_id','$testname','$totque')") or die(mysql_error());
echo "<p align=center>Test <b>\"$testname\"</b> Added Successfully.</p>";
unset($_POST);
}
}
?>

【问题讨论】:

  • 警告 Mysql_弃用,并将在未来的 PHP 版本中删除。请考虑迁移到 Mysqli_PDO。此外,您的数据未转义,并且您对Sql 注入完全开放。请考虑使用准备好的语句

标签: php null return zero


【解决方案1】:

请更换

<option> <? echo $row['sub_name']; ?></option>

<option value="<? echo $sub_id; ?>"> <? echo $row['sub_name']; ?></option>

$_POST['sub_id'] 中,您将获得select -> option 标签的值属性。

如果可能的话,请考虑从mysql_ php 函数转移到mysqlipdo,因为mysql_ 在php 中被标记为已弃用,即使根据我自己的经验,也可能会出现问题且过于有限。

【讨论】:

  • 没问题。很高兴它有帮助:)
【解决方案2】:

试试这个

<option value="<?=$sub_id?>"><?=$row['sub_name']?></option>

而不是

<option> <? echo $row['sub_name']; ?></option>

【讨论】:

    猜你喜欢
    • 2020-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2019-11-17
    相关资源
    最近更新 更多