Php 查询数据库中的数据

Php 查询数据库中的数据,php,html,Php,Html,我正在尝试使用html表单从我的客户机数据库中检索数据 有人能告诉我我的代码有什么问题吗?这个php代码从我的数据库收集数据并返回答案。我对html/php非常陌生,非常感谢您的帮助 <?php echo $_POST['term']; mysql_connect ("localhost", "root","") or die (mysql_error()); mysql_select_db ("client"); $term = $_POST['term'];

我正在尝试使用html表单从我的客户机数据库中检索数据

有人能告诉我我的代码有什么问题吗?这个php代码从我的数据库收集数据并返回答案。我对html/php非常陌生,非常感谢您的帮助

   <?php
      echo $_POST['term']; 
mysql_connect ("localhost", "root","")  or die (mysql_error());
 mysql_select_db ("client");
 $term = $_POST['term'];
 $sql = mysql_query("select * from `client` where first_name like '%".mysql_real_escape_string($term)."%'");
while ($row = mysql_fetch_array($sql))
{
    echo 'ID: '.$row['ID'];
    echo '<br/> First Name: '.$row['first_name'];
    echo '<br/> Last Name: '.$row['last_name'];
    echo '<br/> Phone: '.$row['Phone'];
    echo '<br/><br/>';
    }




?>

    </body>
</html>

这是您当前的问题:

$sql = mysql_query("select * from 'client' where first_name like '%$term%'");
表名
client
周围的引号不正确。为此使用反勾号:

$sql = mysql_query("select * from `client` where first_name like '%$term%'");
你应该保护自己:

$sql = mysql_query("select * from `client` where first_name like '%".mysql_real_escape_string($term)."%'");
但是说真的,请保证阅读SQL注入,并且不再使用mysql函数

请使用PDO

请阅读以下内容:


这是您当前的问题:

$sql = mysql_query("select * from 'client' where first_name like '%$term%'");
表名
client
周围的引号不正确。为此使用反勾号:

$sql = mysql_query("select * from `client` where first_name like '%$term%'");
你应该保护自己:

$sql = mysql_query("select * from `client` where first_name like '%".mysql_real_escape_string($term)."%'");
但是说真的,请保证阅读SQL注入,并且不再使用mysql函数

请使用PDO

请阅读以下内容:


您好,快速看一下,我会说,错误在MySQL查询本身。
您在表名周围使用单引号,我认为这是不对的。尝试不使用任何引号,或者使用单个“backquote”或您称之为的符号:`

Hi快速查看,我会说,错误在MySQL查询本身。
您在表名周围使用单引号,我认为这是不对的。尝试不使用任何引号,或者使用单个“backquote”或您称之为的符号:`

除了佩特卡的解决方案之外,在while循环结束之前还缺少引号和分号

echo '<br/><br/>
}
echo'

}
应该读

echo '<br/><br/>';
}
echo'

'; }
除了佩特卡的解决方案,在关闭while循环之前,还有一个缺少引号的amd分号

echo '<br/><br/>
}
echo'

}
应该读

echo '<br/><br/>';
}
echo'

'; }
首先,SQL注入。第二,不推荐使用的mysql函数调用。你是今天第三个有这两个问题的人,只有我见过。什么时候停止?首先,SQL注入。第二,不推荐使用的mysql函数调用。你是今天第三个有这两个问题的人,只有我见过。什么时候停止?我很欣赏你对MySQL和pdo等的评论,但是我们很多人学习这些东西的问题是,如果你有老东西要学习,老MySQL phpmyadmin和旧代码,我们如何跟上你们呢。我只需要一个html页面写在记事本++从书是10岁。获取XAMPP1.8中my phpmyadmin数据库中的数据。为了工作,它将永远不会被使用。@pitbull10正是这就是为什么我和其他SOER们关心。。。我可能高估了整个问题,我只是震惊了这么少人知道这些事情。。。好吧,文学可能很古老,但我之所以只买特定的书,并尽可能多地在网上学习其余的书,这是有原因的。我建议大家也这样做,因为有些书一上架就会过时。对不起,如果我听起来很严厉,我现在的耐心已经不像以前了……我说的是大学从旧软件和旧书中教授的东西。@pitbull10我理解这一点,对此我很难过(几年前我也在一所大学教过书)。。。我认为你应该告诉你的导师这些问题,但这可能会导致“不想要的后果”。。。有些老师不喜欢学生比他们聪明。我很欣赏你对MySQL和pdo等的看法,但我们很多人学习这些东西的问题是,如果你有旧东西要学,旧MySQL phpmyadmin和旧代码,我们如何跟上你们呢。我只需要一个html页面写在记事本++从书是10岁。获取XAMPP1.8中my phpmyadmin数据库中的数据。为了工作,它将永远不会被使用。@pitbull10正是这就是为什么我和其他SOER们关心。。。我可能高估了整个问题,我只是震惊了这么少人知道这些事情。。。好吧,文学可能很古老,但我之所以只买特定的书,并尽可能多地在网上学习其余的书,这是有原因的。我建议大家也这样做,因为有些书一上架就会过时。对不起,如果我听起来很严厉,我现在的耐心已经不像以前了……我说的是大学从旧软件和旧书中教授的东西。@pitbull10我理解这一点,对此我很难过(几年前我也在一所大学教过书)。。。我认为你应该告诉你的导师这些问题,但这可能会导致“不想要的后果”。。。有些老师不喜欢学生比他们聪明。如果你的代码仍然不起作用,我建议插入:
var\u dump($\u POST)
somwe在代码开头,查看$\u POST字段中的实际内容。您可能正在使用$\u GET将数据发送给您自己,或者您可能拼错了POST变量的名称。由此产生的一个事实是,$sql为FALSE,因为生成的sql查询是无效的($\u POST['term']似乎未定义),如果您的代码仍然无法工作,我建议插入:
var\u dump($\u POST)
somwe在代码开头,查看$\u POST字段中的实际内容。您可能正在使用$\u GET将数据发送给您自己,或者您可能拼错了POST变量的名称。由此产生的一个事实是,$sql对于生成的sql查询为FALSE是无效的($\u POST['term']似乎未定义)