QUERY AND ECHO数据输入HTML INPUT字段

时间:2015-11-04 15:38:24

标签: php mysql

我编写了一个脚本,简而言之,它应该从数据库中查询数据并将结果回显到HTML表单字段中。但是,我没有成功。请参阅以下代码:

<?php


include("dbconfig.php");

$val = '6';

$result = mysqli_query("Select * from test where testid= '$val'");
$name = (mysqli_num_rows($result)==1) ? mysqli_fetch_assoc($result) : null;

if(is_array($name)){


?>

<html>

<body>

<form>
Name: <input type="text" id="firstname" value="<?php echo $name['firstname']; ?>"/>
</form>

<?php
} else {

echo "No such name exists";


}

?>



</body>
</html>

有人可以告诉我我做错了什么。因为它不会回应任何东西进入该领域,我觉得它很烦人,因为我遇到的大多数脚本都非常类似于这个。

非常感谢帮助。

谢谢,

苏海尔。

2 个答案:

答案 0 :(得分:1)

您没有将数据库连接传递给查询,因此它永远不会被执行。

  • 假设使用mysqli_
  • 成功建立连接

这行代码:

$result = mysqli_query("Select * from test where testid= '$val'");

需要有一个连接参数:

$result = mysqli_query($connection, "Select * from test where testid= '$val'");

并且我们不知道您使用哪个MySQL API进行连接。

您的查询可能已失败,因此请检查错误。

$result = mysqli_query("Select * from test where testid= '$val'")
    or die(mysqli_error($connection));

并将$connection变量替换为您在dbconfig.php中指定的变量,我们不知道。

不同的MySQL API /函数不会混用。

请参阅以下链接http://php.net/manual/en/mysqli.error.phphttp://php.net/manual/en/function.error-reporting.php 并将其应用于您的代码。

您也可以使用SQL注入。使用准备好的声明。

参考文献:

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:只应在暂存时进行显示错误,而不是生产。

如果要检查是否存在行,请参阅Stack上的其他答案:

答案 1 :(得分:1)

我已经测试过以下内容并且可以正常使用。 @ Fred-ii-给了你很多好的信息,特别是使用错误调试 - 但是你需要提供你缺少的连接对象。

<?php
    error_reporting( E_ALL );

    include("conn.php");

    $val = 6;

    /* What is the name of the $connection object ? */
    $result = mysqli_query( $conn, "Select * from `test` where `testid`='$val'" );
    $name=( $result ) ? mysqli_fetch_assoc( $result ) : false;

?>  
<html>
    <head>
        <title>Ya gotta have a title...</title>
    </head>
    <body>
        <?php
            if( !empty( $name ) ){
                echo "
                    <form>
                        Name: <input type='text' id='firstname' value='{$name['firstname']}'/>
                    </form>";
            } else {
                echo "No such name exists";
            }
        ?>
    </