我遇到了这些错误(我已经检查过第5行,找不到任何白线,并且在线上找到了sql。我已经检查了拼写和语法,它们没问题。)
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/reachea2/public_html/orderpplac.php on line 53
Warning: Cannot modify header information - headers already sent by (output started at /home/reachea2/public_html/orderpplac.php:53) in /home/reachea2/public_html/include/functions.php on line 5
代码:
<?php
require_once("include/session.php");
require_once("include/dataconnect.php");
require_once("include/functions.php");
if (isset($_POST['submit1'])) {
if(array_key_exists('item', $_POST)){
// $items = $_POST['item'];
//foreach($_POST['item'] as $item){
//echo $item['Pquantity'] . ", ";
//echo $item['Pidno'] . ", ";
// }
//Loop through $_POST items, updating the database for each item
foreach ($_POST['item'] as $item) {
$Pquantity = intval($item['Pquantity']);
$Pidno = ($item['Pidno']);
//echo $Pquantity . ", ";
//echo $Pidno . ", ";
$queryreg = mysql_query("
UPDATE repplac
SET Pquantity = {$Pquantity}
WHERE Pidno = '{$Pidno}'
AND Uname = '{$_SESSION['username']}'
") or die(mysql_error());
}
}
}
else if (isset($_POST['submit2'])) {
//Get Email Address
$emails = mysql_query("SELECT reusers.email FROM reusers INNER JOIN repplac ON reusers.username = repplac.Uname AND reusers.username = '{$_SESSION['username']}'")or die(mysql_error());
//$emails = mysql_query("SELECT reusers.email FROM reusers INNER JOIN repplac ON reusers.username = repplac.Uname AND reusers.username = '".$_SESSION['username']."'")or die(mysql_error());
$results = (mysql_fetch_assoc($emails)) or die(mysql_error());
$email= $results['email'];
//echo "$email";
//die();
if(mysql_num_rows($emails) == 0){
exit("No email addresses found for user '{$_SESSION['username']}'");
}
$email = mysql_result($emails, 0);
//Get list to email user
$body = "<html><body><table border='1'>
<tr>
<th>Shop Name</th>
<th>Product Name</th>
<th>Size</th>
<th>Color Name</th>
<th>Quantity</th>
</tr>";
$pplresult = mysql_query("SELECT * FROM repplac WHERE Uname = '{$_SESSION['username']}')");
while($row = mysql_fetch_assoc($pplresult)){
$body .= "<tr>
<td>" . $row['Sname'] ."</td>
<td>" . $row['Pname'] ."</td>
<td>" . $row['Psize'] ."</td>
<td>" . $row['Pcolour'] ."</td>
<td>" . $row['Pquantity'] ."</td>
</tr>";
}
$body .="</table></body></html>";
//Send email
$to = $email;
$subject = "YOUR ORDER LIST FROM REACHEASY";
$headers = "From: donotreply@rapsody.co.uk\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail($to,$subject,$body,$headers);
//Transfer records to wishlist
$transfer = mysql_query("INSERT INTO wishlist (SELECT * FROM repplac WHERE Uname = '{$_SESSION['username']}')")or die(mysql_error());
// Delete temporary records if the above query was successful:
if($transfer !== false){
$deletetable = mysql_query("DELETE FROM repplac WHERE Uname = '{$_SESSION['username']}'");
}
}
redirect_to('youraccount.php');
?> body
答案 0 :(得分:3)
显示第二个警告,因为显示了第一个警告。当显示第一个警告时,它会向浏览器创建输出,使服务器创建标题,然后您就不能再修改会话。
修复orderpplac.php第53行的第一个mysql警告,其余的将自行修复。
答案 1 :(得分:0)
确保文件:
"include/session.php"
"include/dataconnect.php"
"include/functions.php"
没有任何尾随空格。
发送标题前必须没有输出。
在结束?>
后查找空格或新行,或者更好的是,不要关闭这些文件中的<?php
标记。
答案 2 :(得分:0)
这里有很多类似的问题。
如果您向浏览器发送内容,例如。使用echo或print命令(如果显示任何通知或警告),您也无法修改标题信息。
尝试禁用错误报告(在文件顶部添加error_reporting(0))或尝试使用输出缓冲,阅读有关ob_start,ob_end_clean等的更多信息。
答案 3 :(得分:0)
没有session_start()
,它应该在<?php
如果你在session.php中有session_start()
,你试图从每个包含文件的末尾删除?>