Php mySQL数据库:打印数据库表中的特定行

Php mySQL数据库:打印数据库表中的特定行,php,mysql,Php,Mysql,请帮忙。我有一个包含两个表和行的数据库,我希望php在需要时打印特定的行。目前它在我的网页上呈现spesific表格的所有内容。将来,如果某个cirtain用户登录,我希望它显示特定表的内容,所以当我理解if语句并克服这个障碍时,我会这样做。我的代码如下: <?php include 'connect-mysql.php'; echo "<br/>"; $query = "SELECT CUSTOMER_NAME, RAMSCODE FROM customer"; $

请帮忙。我有一个包含两个表和行的数据库,我希望php在需要时打印特定的行。目前它在我的网页上呈现spesific表格的所有内容。将来,如果某个cirtain用户登录,我希望它显示特定表的内容,所以当我理解if语句并克服这个障碍时,我会这样做。我的代码如下:

 <?php
include 'connect-mysql.php';

echo "<br/>";

$query  = "SELECT CUSTOMER_NAME, RAMSCODE  FROM customer";
$result = mysql_query($query) or die (mysql_error());

while($row = mysql_fetch_array($result))
{
    echo "{$row['CUSTOMER_NAME']} <br>" .
         "RAMSCODE: {$row['RAMSCODE']} <br>" ;
} 

?>

要从表中获取特定行,必须在SQL语句中包含WHERE子句

例如:

$query  = "SELECT CUSTOMER_NAME, RAMSCODE  FROM customer WHERE customer_id = 2";

WHERE xxxxx
子句与表中的任何列匹配

要从表中获取特定行,必须在SQL语句中包含WHERE子句

例如:

$query  = "SELECT CUSTOMER_NAME, RAMSCODE  FROM customer WHERE customer_id = 2";

WHERE xxxxx
子句与表中的任何列相匹配

,因为我已经得到了您想要的是只显示customers表中客户登录的那一行。你可以用这样的东西:

while($row = mysql_fetch_array($result))
{
    if($row['CUSTOMER_NAME'] == " //Customer Logged In (customer name from session)"){
         echo "{$row['CUSTOMER_NAME']} <br>" .
         "RAMSCODE: {$row['RAMSCODE']} <br>" ;
    }else{
         //do nothing or continue with printing all
    }
}
while($row=mysql\u fetch\u array($result))
{
if($row['CUSTOMER\u NAME']==“//已登录的客户(会话中的客户名称)”){
回显“{$row['CUSTOMER_NAME']}
”。 “RAMSCODE:{$row['RAMSCODE']}
”; }否则{ //不执行任何操作或继续打印所有内容 } }

希望这能有所帮助。

据我所知,您想要的是只显示customers表中客户已登录的那一行。你可以用这样的东西:

while($row = mysql_fetch_array($result))
{
    if($row['CUSTOMER_NAME'] == " //Customer Logged In (customer name from session)"){
         echo "{$row['CUSTOMER_NAME']} <br>" .
         "RAMSCODE: {$row['RAMSCODE']} <br>" ;
    }else{
         //do nothing or continue with printing all
    }
}
while($row=mysql\u fetch\u array($result))
{
if($row['CUSTOMER\u NAME']==“//已登录的客户(会话中的客户名称)”){
回显“{$row['CUSTOMER_NAME']}
”。 “RAMSCODE:{$row['RAMSCODE']}
”; }否则{ //不执行任何操作或继续打印所有内容 } }

希望这有帮助。

您需要在SQL中指定您的条件作为where子句

$query  = "SELECT CUSTOMER_NAME, RAMSCODE  FROM customer where RAMSCODE = %1";
$result = mysql_query($query,mysql_real_escape_string($yourcode)) or die (mysql_error());

而且你真的需要阅读手册

您需要将您的条件指定为SQL中的where子句

$query  = "SELECT CUSTOMER_NAME, RAMSCODE  FROM customer where RAMSCODE = %1";
$result = mysql_query($query,mysql_real_escape_string($yourcode)) or die (mysql_error());

而且你真的需要阅读手册

您计划如何识别该特定用户?你怎么知道谁登录了?饼干?会议?什么?你打算如何识别那个特定的用户?你怎么知道谁登录了?饼干?会议?什么?应用程序中的过滤无法扩展!“不可缩放”对于初学者来说是一个太模糊的评论。比如说,海报,还有我。@toon81我想首先你可以从数据库中获得正确的信息,这使得while循环不再必要。当您可以用正确的MySQL查询检索到1行时,为什么还要在PHP中循环一百万行呢。我想这正是James所指的。应用程序中的过滤无法扩展!“不可缩放”对于初学者来说是一个太模糊的评论。比如说,海报,还有我。@toon81我想首先你可以从数据库中获得正确的信息,这使得while循环不再必要。当您可以用正确的MySQL查询检索到1行时,为什么还要在PHP中循环一百万行呢。我想这就是詹姆斯所指的。有人能解释一下为什么这个(和@leflings)答案被否决了吗。鉴于问题中缺乏细节,在select语句中使用where子句是尽可能正确的答案。我承认阅读手册的评论可能有点轻率,但这是一个很好的建议。你的回答似乎很好。也许有人认为字符串消毒与这个问题无关。但是我会投票支持你回到零。@Buttle——我知道字符串敏感和占位符会让答案更加冗长——但我不愿意发布一个对可怕的“sql注入”或“跨站点脚本”攻击开放的答案。是的,我可能也会包括这些内容。我只能猜测为什么会有人投反对票,这是我唯一能想象的。有人愿意解释为什么这个(和@leflings)答案会被否决吗。鉴于问题中缺乏细节,在select语句中使用where子句是尽可能正确的答案。我承认阅读手册的评论可能有点轻率,但这是一个很好的建议。你的回答似乎很好。也许有人认为字符串消毒与这个问题无关。但是我会投票支持你回到零。@Buttle——我知道字符串敏感和占位符会让答案更加冗长——但我不愿意发布一个对可怕的“sql注入”或“跨站点脚本”攻击开放的答案。是的,我可能也会包括这些内容。我只能猜测为什么会有人投票否决它,这是我唯一能想象的。非常感谢,这很容易。如果它解决了你的问题,别忘了将其标记为解决方案。这有助于勒弗林斯!非常感谢,这相当容易。如果它解决了您的问题,请不要忘记将其标记为解决方案。这有助于勒弗林斯!