PHP sql 无法获得输出


PHP sql not getting output

由于某种原因,我没有从这段代码中获得输出。具体来说,从这个if语句:我插入了一个带有测试词的 html 标签,但它从未出现在输出中。我修复了"选择"错别字。仍然得到相同的结果..无输出。.我认为问题出在这种说法上。

$db = new PDO("mysql:dbname=university", "root", "");

我在它之前插入了另一个测试短语 - 成功,紧随其后的另一个 - 没有输出

        if($sel=="getinfo"){
                    try {
                    $db = new PDO("mysql:dbname=university", "root", "");
                    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    $rows = $db->exec("SEEELECT * FROM fminformationtable WHERE FM_ID = '$_POST[iden]'"); 
                    ?>
                    test
                    <?php
                    }

这是完整的功能

    if($sel=="addnew"){
    try {
                $db = new PDO("mysql:dbname=university", "root", "");
                $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                $rows=$db->query("INSERT INTO fminformationtable 
                VALUES('$_POST[iden]','$_POST[lname]','$_POST[fname]','$_POST[office]','$_POST[ext]','$_POST[hphone]','$_POST[mobile]','$_POST[address]','$_POST[email]','$_POST[syear]','$_POST[tyear]','$_POST[ldegree]','$_POST[ofrom]','$_POST[dyear]','$_POST[rinterest]')");
            }
            catch (PDOException $ex) {
            ?>
            <p>Your information has been submitted! </p>
            <?php
            }
            if($sel=="update"){

                try {
                    $db = new PDO("mysql:dbname=university", "root", "");
                    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

                    $rows=$db->query("UPDATE fminformationtable SET
                     Office=`$_POST[office]`,
                     Extension=`$_POST[ext]`,
                     HomePhone=`$_POST[hphone]',
                     MobilePhone=`$_POST[mobile]`,
                     Adress=`$_POST[address]`,
                     Email=`$_POST[email]`,
                     StartingYear=`$_POST[syear]`,
                     TerminationYrear=`$_POST[tyear]`,
                     LatestDegree=`$_POST[ldegree]`,
                     ObtainedFrom=`$_POST[ofrome]`,
                     DegreeYear=`$_POST[dyear]`,
                     ResearchInterest=`$_POST[rinterest]`
                    ");
                    }

                catch (PDOException $ex) {

                }
        }
        }
         if($sel=="delete"){
            try {
                    $db = new PDO("mysql:dbname=university", "root", "");
                    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    $rows = $db->exec("DELETE FROM fminformationtable WHERE FM_ID = '$_POST[iden]'"); 

            }
            catch (PDOException $ex) {
                }
        }
        if($sel=="getinfo"){
                    try {
                    $db = new PDO("mysql:dbname=university", "root", "");
                    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    $rows = $db->exec("SEEELECT * FROM fminformationtable WHERE FM_ID = '$_POST[iden]'"); 
                    ?>
                    test
                    <?php
                    }
  1. 您使用的是反引号而不是单引号。
  2. 你永远不会检查你的函数返回以查看它们是否失败。
  3. 您正在使用带有空catch块的try来简单地丢弃任何可能有用的信息。例如,导致代码不返回任何数据的错误。
  4. SEEEELECT不是MySQL操作。
  5. 除非使用{$array['index']}否则无法扩展双引号字符串内的数组索引

建议:以 1-3 行的块编写代码,对其进行测试,编写另一个块,对其进行测试,依此类推。这段代码看起来像是在一次未经测试的镜头中编写的。

另外:yadda yadda SQL注入,参数化查询等。