Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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 - Fatal编程技术网

PHP MySQL数据输出

PHP MySQL数据输出,php,mysql,Php,Mysql,我试图从MySQL数据库中读取特定日期的数据。 我想让PHP在我输入的特定日期内从数据库获取所有数据,但脚本似乎只获取了第一行数据,而忽略了其余的数据 你能帮我用代码来实现这一点吗 <?php if(isset($_REQUEST['query'])) { $searchQuery = $_POST['data-search']; //connceting to db $con = mysql_connect($_SERVE

我试图从MySQL数据库中读取特定日期的数据。 我想让PHP在我输入的特定日期内从数据库获取所有数据,但脚本似乎只获取了第一行数据,而忽略了其余的数据

你能帮我用代码来实现这一点吗

<?php
    if(isset($_REQUEST['query']))
    {
        $searchQuery = $_POST['data-search'];

        //connceting to db
        $con = mysql_connect($_SERVER['SERVER_NAME'],'root','');
        if(!$con)
        {
            die("Error connecting: ".mysql_error());
            exit;
        }
        //selecting db
        $dbSelect = mysql_select_db("directory",$con);
        $query = "SELECT * FROM websites WHERE Date LIKE '$searchQuery'";
        //executing query
        $result = mysql_query($query,$con);
        if(!$result)
        {
            die("Could not connect: ".mysql_error());
        }
        while($row = mysql_fetch_array($result))
        {
            $searchOutput = "<html><body><table border=1><tr><td>Website Title</td><td>Website URL</td><td>About Website Content</td></tr>
                                <tr><td>".$row['Title']."</td><td>".$row['URL']."</td><td>".$row['Content']."</td></tr></table>";
        }
        $searchSuccess = "<p>Your Search was successful</p</body></html>";
        mysql_close($con);
        echo $searchOutput;
        echo $searchSuccess;

    }
    else{
        echo "Invalid";
    }

?>

您应该将日期列视为日期,例如:

$query = "SELECT * FROM websites WHERE Date between '$startDate' and '$endDate'";

您应该使用参数化查询,而不是使用字符串连接,以避免sql注入。我相信Mysql文档中有一些例子。

在脚本中,每次通过循环时,都会替换
$searchOutput

更改:

while($row = mysql_fetch_array($result))
    {
        $searchOutput = "<html><body><table border=1><tr><td>Website Title</td><td>Website URL</td><td>About Website Content</td></tr>
                            <tr><td>".$row['Title']."</td><td>".$row['URL']."</td><td>".$row['Content']."</td></tr></table>";
    }
$searchOutput = "<html><body><table border=1><tr><td>Website Title</td><td>Website URL</td><td>About Website Content</td></tr>";

while($row = mysql_fetch_array($result))
    {
        $searchOutput .= "<tr><td>".$row['Title']."</td><td>".$row['URL']."</td><td>".$row['Content']."</td></tr>";
    }

$searchOutput .= "</table>";
while($row=mysql\u fetch\u array($result))
{
$searchOutput=“网站标题网站URL关于网站内容
“$row['Title'..”.$row['URL'..”.$row['Content'.]”;
}
至:

while($row = mysql_fetch_array($result))
    {
        $searchOutput = "<html><body><table border=1><tr><td>Website Title</td><td>Website URL</td><td>About Website Content</td></tr>
                            <tr><td>".$row['Title']."</td><td>".$row['URL']."</td><td>".$row['Content']."</td></tr></table>";
    }
$searchOutput = "<html><body><table border=1><tr><td>Website Title</td><td>Website URL</td><td>About Website Content</td></tr>";

while($row = mysql_fetch_array($result))
    {
        $searchOutput .= "<tr><td>".$row['Title']."</td><td>".$row['URL']."</td><td>".$row['Content']."</td></tr>";
    }

$searchOutput .= "</table>";
$searchOutput=“网站标题网站URL关于网站内容”;
while($row=mysql\u fetch\u数组($result))
{
$searchOutput.=''.$row['Title'].''.$row['URL'].''.$row['Content'].'';
}
$searchOutput.=“”;

你应该考虑重构你的代码,以便所有模板/格式化的东西与数据库逻辑的东西分开。从长远来看,它将更易于阅读和维护。

您意识到,您检索到的每一行都会覆盖$searchOutput字符串。还请努力学习表格、行和单元格的html标记。。。。标记本身是完全不一致的,并且每行都要启动一个新的HTML文档/正文,这不是真正有效的HTML,可能会在不同的浏览器之间呈现出虚假。