2016-09-16 100 views
-3

我一直在尝试输出部分付款的学生的姓名。 我可以输出的东西时,我不会使用'WHERE子句WHERE子句在PHP中不起作用

$link = mysqli_connect("localhost", "root", "", "test"); 
$partial = "Partial"; 
$full = "Full Payment"; 
$query = "SELECT student_name FROM student WHERE student.status ='".$partial."'"; 
$query .= "SELECT student_name FROM student ORDER BY student_name"; 
if (mysqli_multi_query($link, $query)) { 
do { 
    /* store first result set */ 
    if ($result = mysqli_store_result($link)) { 
     while ($row = mysqli_fetch_row($result)) 
/* print your results */  
{ 
     printf("%s\n",$row[0]); 
     printf("\n"); 
     printf("<br>"); 
} 
mysqli_free_result($result); 
} 
} 
while(mysqli_more_results($link) && mysqli_next_result($link)); 
} 

对不起,这个问题的坏格式和我的英语不好。谢谢你,希望您的答复

+0

不要为坏格式感到抱歉,修复它 – nogad

+1

2个查询没有意义,为什么不只是一个? – nogad

+1

为什么有两个查询?用名字拉上'status',然后按照你的偏好来做。 – chris85

回答

1
$query = "SELECT student_name FROM student WHERE student.status ='".$partial."'"; 
$query .= "SELECT student_name FROM student ORDER BY student_name"; 

此代码将导致$query之中:

SELECT student_name FROM student WHERE student.status ='$partial'SELECT student_name FROM student ORDER BY student_name 

当你在没有任何分离串联两个字符串在一起。您需要在两个查询之间添加分隔符;。但是,为什么在这里运行两个查询?

+0

我试图输出部分付款的学生姓名,在查询后我还想输出所有学生的姓名。 你是什么意思的';'分隔器?这两个查询已经有';'将它们分开。我真的很抱歉,我是新来的,我也是PHP的初学者。 –

+0

你在混淆PHP和SQL。你在PHP中有一个结尾';'而不是你的SQL查询(在引号内)。回声$查询,所以你可以看到... – Devon

+0

非常感谢你!有效! –