我有一个php页面,从包含电子邮件广告的dbms中提取数据。这是可行的。然后,它显示电子邮件广告和其他存储的数据数据。然后,用户可以选择在名为emailselected的php页面中指定的字段中输入"X“。这也是可行的。我现在想根据存储的电子邮件addy用新字段更新dbms,但update语句不起作用。请帮帮忙。php文件的这一部分在这里。
include("db.php");
if (isset($_POST['ssubmit']))
{
$id_save = $test['id'];
$emailselected_save = $_POST['emailselected'];
$email_save = $test['email'];
mysql_query("UPDATE emails SET selected='$emailselected_save' WHERE id = 'id'");
echo "<input type='button' value='Email(s) sent' onclick='goBack()' />";
mysql_close($conn);
} else {echo "hello";}
?>
</head>
<form method='post'>
<div id='headd'>
<br />
<input type='button' value='Close this window without Sending' onclick='goBack()' />
<input type='submit' name='ssubmit' id='ssubmit' value='Send Email Now!!!' />
<p>Place an "X" in the emails you wish to send!!!</p>
</div>
<body>
<br /><br/>
<?php
include("db.php");
$result = mysql_query("SELECT * FROM emails WHERE unsubscribe != 'x' ORDER BY lastname ASC");
while($test = mysql_fetch_array($result))
{
?>
<table border='1' width='78%'>
<tr align=\"left\">
<td width='4%'><font color='black'><input type='text' size='1' id='emailselected' name='emailselected' /></font></td>
<td width='15%'><font color='black'><?php echo $test['lastname']?></font></td>
<td width='15%'><font color='black'><?php echo $test['firstname']?></font></td>
<td width='40%'><font color='black'><?php echo $test['email']?></font></td>
<td width='4%'><font color='black'><?php echo $test['id']?></font></td>
</tr>
</table>
<?php
}
?>
</form>表单的顶部是一条include语句。这是因为它提取了电子邮件addy并将其显示在php文件中。
我做错了什么?
发布于 2012-12-13 20:59:55
如果数据没有更新,您将受到以下几种可能性的限制:
要找出是哪一个,您应该检查mysql_query的返回代码,看看它是否失败:
$rc = mysql_query('my hovercraft is full of eels');
if (!$result) {
die('What?: ' . mysql_error());
}如果它没有失败,那么您应该用mysql_affected_rows()检查它影响了多少行
$num = mysql_affected_rows();
printf("Updated %d rows\n", $num);检查返回它们的函数的返回值是很好的编程实践。
输出或记录您在SQL语句中使用的所有变量也可能是一个好主意,以确保它们是您认为的那样。
而且,尽管到目前为止应该不用说,使用mysql_*函数是discouraged,但您应该使用mysqli_* (or PDO)。
我只是注意到您的HTML元素的层次结构似乎不太正确。您有效地实现了:
<head>
:
</head>
<form>
:
<body>
:对我来说不是胶水。我不确定form在主体之外是否有效。根据w3c specs,html元素必须包含:
body元素后跟head元素。
https://stackoverflow.com/questions/13860071
复制相似问题