2016-09-16 96 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

非常感謝你!有效! –