2013-07-24 99 views
-1

謝謝大家的答案。它一直在爆炸。我改變了拼寫,現在它正在工作 - 它顯示特定用戶帳戶的記錄。現在的問題是它不執行查詢,但我會爲此創建一個新問題以避免混淆。選擇從哪裏查詢不工作

再次感謝大家對你的幫助:)


我完全在這個領域自制的那一刻的東西不工作,我不知道在哪裏甚至看。我想知道是否有人可以發現是什麼讓這段代碼無法正常工作。

目前我有一個非常簡單的查詢,我的網站上的用戶可以在桌上看到他們的結算曆史摘要。我希望他們能夠點擊一行以顯示完整的發票,但不會發生。我拿了一個可以進行這樣的查詢的代碼,但是當我添加uid ='和paid = Y的東西停止工作時。

這是代碼。任何人都可以發現錯誤?

謝謝! 歐仁妮

<?php 

include("mainfile.php"); 
include(XOOPS_ROOT_PATH."/header.php"); 


$host="localhost"; // Host name 
$username="username"; // Mysql username 
$password="password"; // Mysql password 
$db_name="db name"; // Database name 
$tbl_name="tbl name"; // Table name 

// Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

$sql="SELECT * FROM $tbl_name WHERE uid='"; 
$Sql=$Sql . $xoopsUser->uid("s") . "' AND Paid='Y'"; 


$result=mysql_query($sql); 
?> 

<table width="400" border="0" cellspacing="1" cellpadding="0"> 
<tr> 
<td> 
<table width="400" border="1" cellspacing="0" cellpadding="3"> 
<tr> 
<td colspan="4"><strong>List data from mysql </strong> </td> 
</tr> 

<tr> 
<td align="center"><strong>Billing Date</strong></td> 
<td align="center"><strong>Invoice Number</strong></td> 
<td align="center"><strong>Description</strong></td> 
<td align="center"><strong>Total GBP</strong></td> 
<td align="center"><strong>View</strong></td> 
</tr> 

<?php 
while($rows=mysql_fetch_array($result)){ 
?> 

<tr> 
<td><? echo $rows['date']; ?></td> 
<td><? echo $rows['TicketID']; ?></td> 
<td><? echo $rows['project']; ?></td> 
<td><? echo $rows['grandTotal']; ?></td> 


<td align="center"><a href="http://website.co.uk/site/viewInvoice.php?TicketID=<? echo  $rows['TicketID']; ?>">View</a></td> 
</tr> 

<?php 
} 
?> 

</table> 
</td> 
</tr> 
</table> 

<?php 
mysql_close(); 
include(XOOPS_ROOT_PATH."/footer.php"); 
?>  
+0

編輯本:'$鏈接=的mysql_connect($主機,$的用戶名,密碼$); mysql_select_db($ db_name,$ link)或死(「無法選擇DB」);' –

+0

不錯的一個!它做到了。謝謝:)) – Eugenie

回答

3

在PHP變量中區分大小寫。你使用的是$ sql,然後是$ Sql。

嘗試:

$sql="SELECT * FROM $tbl_name WHERE uid='"; 
$sql = $sql . $xoopsUser->uid("s") . "' AND Paid='Y'"; 
+1

好趕上!!!!! – paxdiablo

1

您可以直接添加像

$Sql = "SELECT * FROM $tbl_name WHERE uid='" .$xoopsUser->uid("s") . "' AND Paid='Y'"; 

及其與變量的問題,您正在使用。嘗試此

$sql="SELECT * FROM $tbl_name WHERE uid='"; 
$Sql=$sql . $xoopsUser->uid("s") . "' AND Paid='Y'"; 

用小的'

0

什麼高塔姆說,還可以,至於是什麼你試圖做一個評論:你把

$Sql = $Sql . 'blah blah blah'; 

,而不是

$Sql = $sql . 'stuff' 

這是您查詢的原始變量。無論哪種方式,只要將它直接放入一個變量就更有意義。

0

編輯,試試這個:

$link = mysql_connect($host, $username, $password); 
mysql_select_db($db_name,$link)or die("cannot select DB"); 

&

$sql="SELECT * FROM $tbl_name WHERE uid='".$xoopsUser->uid('s')."' AND Paid='Y'";