首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中调用该值,然后将其转换为变量

如何在mysql中调用该值,然后将其转换为变量
EN

Stack Overflow用户
提问于 2014-01-13 09:24:59
回答 2查看 51关注 0票数 0

以下是我的代码

代码语言:javascript
复制
<?php
require("db.php");
$datetoday = date("Y-m-d");
if (isset($_POST['submit']))
    {      
    include 'db.php';
    $loginid =$_REQUEST['loginid'];

$result = mysql_query("SELECT * FROM info WHERE id  = '$loginid'");
$test = mysql_fetch_array($result);
$testid=$test['id'];
$fnameloginsuccess1=$test['firstname'];
$mnameloginsuccess1=$test['middlename'];
$lnameloginsuccess1=$test['lastname'];
$departmentloginsuccess1=$test['department'];
echo'<input type="text" name="fname" value="<?php echo $fnameloginsuccess1 ?>"/></td>';
if (!$loginid)
{header("location:../index.php");   }






    $natureofleave =$_POST['group1'];
    $datestart=$_POST['startofleave'];
    $dateend=$_POST['endofleave'];
    $reason=$_POST['reason'];
    $status= 'pending';





    mysql_query("INSERT INTO `request`(id,natureofleave,dateofleavestart,dateofleaveend,reasons,datesubmitted,department,status,firstname,middlename,lastname)
         VALUES('$log','$natureofleave','$datestart','$dateend','$reason','$datetoday','$departmentloginsuccess1','$status','$fnameloginsuccess1','$mnameloginsuccess1','$$lnameloginsuccess1')");





    }

我的主要问题是我不能将$fnameloginsuccess1,$mnameloginuccess1‘,’$lnameloginuccess1‘,$departmentloginsuccess1的值放到我的数据库中。但我可以“呼应”他们..某些值正在工作,但4个值不起作用!我已经尝试过fname =$fnameloginuccess1‘;遗憾的是它不起作用..救命!!

EN

回答 2

Stack Overflow用户

发布于 2014-01-13 09:47:28

代码语言:javascript
复制
<?php
    require("db.php");
    $datetoday = date("Y-m-d");
    if (isset($_POST['submit']))
    {      
        include 'db.php';
        $loginid =$_REQUEST['loginid'];

        if (!$loginid) {header("location:../index.php");   }    

        $result = mysql_query("SELECT * FROM info WHERE id  = '$loginid'");
        $test = mysql_fetch_array($result);
        $testid=$test['id'];
        $fnameloginsuccess1=$test['firstname'];
        $mnameloginsuccess1=$test['middlename'];
        $lnameloginsuccess1=$test['lastname'];
        $departmentloginsuccess1=$test['department'];
        echo'<input type="text" name="fname" value="'.$fnameloginsuccess1.'"/></td>';

        $natureofleave =$_POST['group1'];
        $datestart=$_POST['startofleave'];
        $dateend=$_POST['endofleave'];
        $reason=$_POST['reason'];
        $status= 'pending';

        mysql_query("INSERT INTO `request` (id, natureofleave, dateofleavestart, dateofleaveend, reasons, datesubmitted,department,status,firstname,middlename,lastname) VALUES('$log','$natureofleave','$datestart','$dateend','$reason','$datetoday','$departmentloginsuccess1','$status','$fnameloginsuccess1','$mnameloginsuccess1','$lnameloginsuccess1')");

    }

?>

票数 0
EN

Stack Overflow用户

发布于 2014-01-13 10:27:15

代码语言:javascript
复制
<?php
require_once("db.php");
$datetoday = date("Y-m-d");

if ($_SERVER['REQUEST_METHOD'] == "POST")
{
    $loginid = $_REQUEST['loginid'];
    if (!$loginid)
    {
        header("Location: ../index.php");
        exit;
    }

    $result = mysql_query("SELECT * FROM `info` WHERE `id`  = '$loginid'");
    $user   = mysql_fetch_array($result);
    $id     = $user['id'];
    $first  = $user['firstname'];
    $middle = $user['middlename'];
    $last   = $user['lastname'];
    $dept   = $user['department'];
    $nature = $_POST['group1'];
    $start  = $_POST['startofleave'];
    $end    = $_POST['endofleave'];
    $reason = $_POST['reason'];
    $status = 'pending';

    $sql = <<<SQL
        INSERT INTO `request` 
            (`id`, `natureofleave`, `dateofleavestart`, `dateofleaveend`, `reasons`, `datesubmitted`, `department`, `status`, `firstname`, `middlename`, `lastname`)
        VALUES 
            ('$id', '$nature', '$start', '$end', '$reason', '$datetoday', '$department', '$status', '$first', '$middle', '$last');
SQL;
    mysql_query($sql) or die ('There was an error processing your data.');
}
?>

有几点我觉得有必要指出:

  1. 当你“需要”db.php时,你不应该需要“包含”它。
  2. 在命名变量时,最好保持它们的简单性。更易于调试和跟踪。
  3. 在标头重定向后退出脚本。
  4. 你不能在

标记内使用

  1. 标记-它不能以这种方式解析
  2. 我建议在mysql_query()包装器之外编写

,因为这样你就可以回显出

    • ,如果你直接在PHP内部编写就不能这样做了

未定义

  1. 日志,因此不会输入。我假设它应该是用户ID,并根据需要进行编辑。
  2. 您在查询(lnameloginsuccess1)

中有两个美元符号

无论如何,如果您运行上面的代码并得到“处理您的数据时出现错误”,您就可以很容易地对其进行调试。

  1. Change mysql_query($sql)或die (‘处理数据时出错。’);更改为mysql_query($sql)或die (mysql_error());

如果它报告的错误是模糊的,你倾向于直接在管理面板(PhpMyAdmin和类似的)中运行查询得到更好的结果,所以这样做;

在mysql查询前的

  1. 行上,只需添加“ $sql;”,然后再次运行页面。复制查询的整个输出并在数据库管理面板中运行。

如果没有错误,则需要检查连接问题-如连接数据中的错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21082576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档