Php 查询数据库中的数据
我正在尝试使用html表单从我的客户机数据库中检索数据 有人能告诉我我的代码有什么问题吗?这个php代码从我的数据库收集数据并返回答案。我对html/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'];
<?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']似乎未定义)