Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP在页面上显示MySQL数据库中的信息_Php_Mysql_Database_Web Deployment - Fatal编程技术网

使用PHP在页面上显示MySQL数据库中的信息

使用PHP在页面上显示MySQL数据库中的信息,php,mysql,database,web-deployment,Php,Mysql,Database,Web Deployment,我有一个叫做test的数据库。里面有一张叫“人”的桌子。人有4个字段:fname、lname、age、city。我有一个带有表单的页面,人们可以在其中输入数据 <?php include('header.php'); ?> <body> <form action="getinformation.php" method="post" id="getinformation"> <div id="header"> <h1><stron

我有一个叫做test的数据库。里面有一张叫“人”的桌子。人有4个字段:fname、lname、age、city。我有一个带有表单的页面,人们可以在其中输入数据

<?php
include('header.php');
?>

<body>
<form action="getinformation.php" method="post" id="getinformation">
<div id="header">
<h1><strong>Search For Data</h1></strong>
</div>
<div id="main">
<table border="0" width="75%">
        <tr>
            <td align="right" width="10%">First Name: </td>
            <td><input type="text" name="fname" id="fname" size="20" /></td>
        </tr>
        <tr>
        <td align="right" width="10%">Last Name: </td>
            <td><input type="text" name="lname" id="lname" size="20" /></td>
        </tr>
        <tr>
        <td align="right" width="10%">Age: </td>
            <td><input type="text" name="age" id="age" size="3" /></td>
        </tr>
        <tr>
        <td align="right" width="10%">City: </td>
            <td><input type="text" name="city" id="city" size="20" /></td>
        </tr>
</table>
<input type="submit" />
</div>
</body>

<?php
include('footer.php');
?>

我以前在使用isset函数时遇到过这个问题,但除此之外,我想知道代码的其余部分是否正常(假设isset工作正常)

您有一个语法错误-缺少右括号:

if (isset ($POST_fname) {
应该是

if (isset ( ..... ) ) {

出现语法错误-缺少右括号:

if (isset ($POST_fname) {
应该是

if (isset ( ..... ) ) {
忘记了(在if的末尾。查看错误输出中所述的第6行。

忘记了(在if的末尾。查看错误输出中所述的第6行。

您忘记了关闭)isset之后的所有位置,并且没有在“and”之后加上分号。这是固定文件:

<?php
require_once('model.php');

$query = "SELECT * FROM people WHERE";

if (isset ($POST_fname)) {
    $fname = $_POST['fname'];
    $query = $query . " fname = '" . $fname . "' AND";
}
if (isset ($POST_lname)) {
    $lname = $_POST['lname'];
    $query = $query . " lname = '" . $lname . "' AND";
}

if (isset ($POST_age)) {
        $age = $_POST['age'];
        $query = $query . " age = '" . $age . "' AND";
}

if (isset ($POST_city)) {
    $city = $_POST['city'];
    $query = $query . " city = '" . $city . "' AND";
}

$query = rtrim($query, " AND");
?>
<div id=/"header/">
<h1><strong>This is the information you requested</h1></strong>
</div>
<div id=/"main/">
<?php
$statement = $db->prepare($query);
$statement->execute();
$products = $statement->fethAll();
$statement->closeCursor();
foreach ($products as $product) {
    echo $product['fname'] . " " . $product['lname'] . " | " . $product['age'] . " | " . $product['city'] . '<br />';
}
?>
</div>
<?php
include('footer.php');
?>

您忘了在isset之后关闭)everywhere,并且没有在“and”后面加分号。以下是固定文件:

<?php
require_once('model.php');

$query = "SELECT * FROM people WHERE";

if (isset ($POST_fname)) {
    $fname = $_POST['fname'];
    $query = $query . " fname = '" . $fname . "' AND";
}
if (isset ($POST_lname)) {
    $lname = $_POST['lname'];
    $query = $query . " lname = '" . $lname . "' AND";
}

if (isset ($POST_age)) {
        $age = $_POST['age'];
        $query = $query . " age = '" . $age . "' AND";
}

if (isset ($POST_city)) {
    $city = $_POST['city'];
    $query = $query . " city = '" . $city . "' AND";
}

$query = rtrim($query, " AND");
?>
<div id=/"header/">
<h1><strong>This is the information you requested</h1></strong>
</div>
<div id=/"main/">
<?php
$statement = $db->prepare($query);
$statement->execute();
$products = $statement->fethAll();
$statement->closeCursor();
foreach ($products as $product) {
    echo $product['fname'] . " " . $product['lname'] . " | " . $product['age'] . " | " . $product['city'] . '<br />';
}
?>
</div>
<?php
include('footer.php');
?>

(isset($POST\fname) 吃饱 isset()是一个表达式,它有两个父项“(“”)”,您已打开,但未关闭

每次“如果”都要这样做

if(isset(anything))
还有什么问题,请到这里来!

(isset($POST\fname) 吃饱 isset()是一个表达式,它有两个父项“(“”)”,您已打开,但未关闭

每次“如果”都要这样做

if(isset(anything))


还有什么问题,来这里吧!

遗漏了大量的
“shuh许多语法错误,只有一个:将
isset($POST\u fname)
更改为
isset($\u POST['fname'))
想知道代码的其余部分是否看起来很好-它容易受到SQL注入的攻击,所以这是一个问题。请查看“绑定参数”。丢失了大量的
“shuh许多语法错误,只有一个:将
isset($POST_fname)
更改为
isset($\u POST['fname'))
想知道代码的其余部分是否看起来很好
-它容易受到SQL注入的攻击,所以这是一个问题。请查看“绑定参数”.New error“Parse error:syntax error,C:\Program Files\wamp\www\testwebpage\Model\getinformation.php第36行意外出现$end”,这是文件的最后一行。我发现了一个问题,我没有结束foreach循环,所以我放了一个右括号,但现在我得到了错误致命错误:调用成员函数execute()在C:\Program Files\wamp\www\testwebpage\Model\getinformation.php联机中的非对象上27@jordankoal似乎查询有问题,$db->prepare返回false而不是object@jordankoal可能,您没有将字符串查询参数括在引号中。请尝试我的更新答案,我还修复了foreach“}”并添加了每个参数的引号。如果它不起作用,请在准备之前打印$query,并向我显示它是什么gives@jordankoal如果在从$\u POSTNew error“Parse error:syntax error,C:\Program Files\wamp\www\testwebpage\Model\getinformation.php的第36行中意外的$end”获取查询参数后引用这些参数,这会更好,因为这是最后一行文件行我发现了一个问题,我没有结束foreach循环,所以我放了一个右括号,但现在我得到了错误致命错误:调用成员函数execute()在C:\Program Files\wamp\www\testwebpage\Model\getinformation.php联机中的非对象上27@jordankoal似乎查询有问题,$db->prepare返回false而不是object@jordankoal可能,您没有将字符串查询参数括在引号中。请尝试我的更新答案,我还修复了foreach“}”并添加了每个参数的引号。如果它不起作用,请在准备之前打印$query,并向我显示它是什么gives@jordankoal如果在从$\u POSTNew error“Parse error:syntax error,C:\Program Files\wamp\www\testwebpage\Model\getinformation.php的第36行中意外的$end”获取查询参数后引用这些参数,这会更好,因为这是最后一行文件新错误的第36行“Parse error:syntax error,C:\Program Files\wamp\www\testwebpage\Model\getinformation.php中意外的$end”,这是文件的最后一行