谢谢大家的回答。它爆炸了。我更改了拼写,现在它正在工作 - 它显示特定用户帐户的记录。现在的问题是它不执行查询,但我会为此创建一个新问题以避免混淆。
感谢每个人的帮助:)
我在这个领域完全是自制的,当时有些东西不起作用我不知道在哪里看。我想知道是否有人能发现是什么让这些代码无效。
目前,我有一个非常简单的查询,我的网站上的用户可以在桌面上查看他们的结算历史摘要。我希望他们能够点击一行以显示完整的发票,但它没有发生。我拿了一个可以进行此类查询的代码,但是当我添加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 :(得分:3)
在PHP中,变量区分大小写。你使用的是$ sql,然后是$ Sql。
尝试:
$sql="SELECT * FROM $tbl_name WHERE uid='";
$sql = $sql . $xoopsUser->uid("s") . "' AND Paid='Y'";
答案 1 :(得分: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'";
使用小''
答案 2 :(得分:0)
Gautam说了什么,但也作为对你要做的事情的评论:你把
$Sql = $Sql . 'blah blah blah';
而不是
$Sql = $sql . 'stuff'
这是您查询的原始变量。无论哪种方式,将它直接放入一个变量就更有意义了。
答案 3 :(得分: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'";