Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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 使用联接查询从数据库打印数据的步骤_Php_Mysql_Join - Fatal编程技术网

Php 使用联接查询从数据库打印数据的步骤

Php 使用联接查询从数据库打印数据的步骤,php,mysql,join,Php,Mysql,Join,新手加入查询。我已经为两个表编写了一个连接查询,即:;候选人和候选人的联系方式。 其中,cand_编号是候选表中的主键,而FK是候选联系人中的主键。此外,cand_cid是我与候选人联系的主要关键 但在提交查询后,数据不会显示。 这是唯一的印刷,直到最后的结果 if(isset($_POST['candi_s_by_code'])) { $sql="SELECT * FROM candidate,candidate_contact WHERE candidate.cand_number=ca

新手加入查询。我已经为两个表编写了一个连接查询,即:;候选人和候选人的联系方式。 其中,cand_编号是候选表中的主键,而FK是候选联系人中的主键。此外,cand_cid是我与候选人联系的主要关键 但在提交查询后,数据不会显示。 这是唯一的印刷,直到最后的结果

if(isset($_POST['candi_s_by_code']))
{
  $sql="SELECT * FROM candidate,candidate_contact WHERE candidate.cand_number=candidate_contact.cand_number AND candidate.cand_number=$candname";   
  echo "selected candidate code";
} 
$result = mysql_query($sql) or die(mysql_error()); 
echo "in result";

while($row=mysql_fetch_array($result))
{ 
  $FirstName  =$row['cand_fname']; 
  $LastName=$row['cand_lname']; 
  $Mail=$row['cand_mail'];
  $Telephone=$row['cand_tel']; 
  $Mobile=$row['cand_mobile'];
}

您正在关闭sql查询上按钮的单击括号,所以请这样做我不知道您从何处获得$candname

if(isset($_POST['candi_s_by_code']))
{
  $sql="SELECT * FROM `candidate,candidate_contact` WHERE `candidate.cand_number`=`candidate_contact.cand_number` AND `candidate.cand_number`='".$candname."'";   


$result = mysql_query($sql) or die(mysql_error()); 


while($row=mysql_fetch_assoc($result))
{ 
  $FirstName  =$row['cand_fname']; 
  $LastName=$row['cand_lname']; 
  $Mail=$row['cand_mail'];
  $Telephone=$row['cand_tel']; 
  $Mobile=$row['cand_mobile'];
}}
确保查询中的变量$candname是正确的。代码中我的最佳嘉宾是,您可能有权使用$POST['candi_s_by_code']而不是$candname 试试这个

$sql="SELECT * FROM `candidate,candidate_contact` WHERE `candidate.cand_number`=`candidate_contact.cand_number` AND `candidate.cand_number`='".$_POST['candi_s_by_code']."'";   

试着检查一下你是否有

通过使用echo$\u POST['candi\u s\u by_code']发布$\u POST['candi\u s\u by_code']

及 $candname,使用echo$candname

在选择查询之前。并按如下方式更改select查询

在candidate.cand_number=candidate_contact.cand_number,其中candidate.cand_number='$candname',选择*从candidate加入candidate_contact


如果不想更改select查询,请尝试在select查询中的php变量周围添加一个引号“$candname”。

尝试使用print\r$result检查数据是否来自@“圣战者”我会试试的。“圣战者”不起作用。它是无限循环的,不要使用php不推荐的mysql\uAPI。请参阅mysqli\updo和准备好的语句。不要使用隐式/逗号连接语法。使用显式连接语法。最后,坎杜数似乎不太可能等于$candname@Strawberry非常感谢。但这是我的试用代码。如果这行得通。。我正在使用mysqli。再次感谢您回复$candname的值,为什么将$candname与cand_编号等同?@eddysoft…..基本上这是一个搜索查询。用户将在其中输入代码,并在数据库中比较和搜索该代码。cand_number是数据库列,$candname是文本框字段ID。@eddysoft…我实现了你的代码,但它给出的错误是:where子句@eddysoft中的未知列'candidate.cand_number'。感谢eddy提供的技术建议。我们已经使用了您的一些代码和其他一些代码,并且成功了。我刚刚尝试过,但它给出了错误:“where子句”@vinod中的未知列“candidate.cand_number”,因此问题可能出在您的查询中检查您的数据库表的列名。为了获得您的帮助,我们也检查了数据库和查询。但它仍然不起作用。它给出了同样的结果。那么你可以发布你的数据库吗structure@Vicky...thank你Vicky..从以上所有的对话中,我们做了组合代码,它成功了。您的一些代码和上面的一些代码。谢谢。我们已经尝试了上面的代码,但没有给出输出。没有错误。@MujahedAKAS..谢谢你,AKAS..对你的代码做了一些更改,它对我有用..谢谢。我将发布正确的查询。