Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 基于用户输入和现有dbms数据更新dbms_Email_Database - Fatal编程技术网

Email 基于用户输入和现有dbms数据更新dbms

Email 基于用户输入和现有dbms数据更新dbms,email,database,Email,Database,我有一个php页面,它从包含电子邮件地址的dbms中提取数据。这很有效。然后显示电子邮件地址和其他存储的数据。然后,用户可以选择在php页面中设计的名为emailselected的字段中添加“X”。这也行得通。现在我想根据存储的email addy使用新字段更新dbms,但update语句不起作用。请帮忙。php文件的这一部分在这里 include("db.php"); if (isset($_POST['ssubmit'])) { $id_save = $test['i

我有一个php页面,它从包含电子邮件地址的dbms中提取数据。这很有效。然后显示电子邮件地址和其他存储的数据。然后,用户可以选择在php页面中设计的名为emailselected的字段中添加“X”。这也行得通。现在我想根据存储的email 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(“db.php”);
如果(isset($_POST['ssubmit']))
{
$id_save=$test['id'];
$emailselected_save=$_POST['emailselected'];
$email_save=$test['email'];
mysql_查询(“更新选定的电子邮件集=”$emailselected_save',其中id='id'”;
回声“;
mysql_close($conn);
}否则{echo“hello”;}
?>

在您希望发送的电子邮件中添加“X”




如果数据未更新,则您将受到以下可能性的限制:

  • 声明失败了;或
  • 该语句不影响任何行;或
  • 该语句影响了错误的行
要找出哪个,您应该检查
mysql\u query
中的返回代码,看看它是否失败:

$rc = mysql_query('my hovercraft is full of eels');
if (!$result) {
    die('What?: ' . mysql_error());
}
如果没有失败,那么您应该用
mysql\u impacted\u rows()
检查它影响了多少行:

检查返回值的函数的返回值是很好的编程实践

输出或记录SQL语句中使用的所有变量也可能是一个好主意,以确保它们是您所认为的

而且,尽管现在不用说,使用
mysql.*
函数是可行的,但您应该使用它


我刚刚注意到,HTML元素的层次结构似乎不太正确。你有效地:

<head>
    :
</head>
<form>
    :
    <body>
        :

:
:
:
这对我来说不合适。我不确定
表单
在体外是否有效。根据,html元素必须包含:

头部元素后接身体元素


“addy”不是一个英语单词。你是六岁的孩子吗?:-)你为什么这么刻薄?你能帮我回答我的问题吗?是的,戴夫,我当然能:-)看到我的答案。说到刻薄,这不是我的本意,幽默是澳洲人的东西,虽然它主要针对我们自己,但有时也会蔓延到世界其他地方。我感谢你的回应。关于这个问题,我并不擅长查询数据库。如何验证mysql_查询的返回代码是否失败?你能更具体地说明怎么做吗。今天早上我有点慢。LOLNo probs,@Dave,看看更新。我目前的位置没有PHP环境,但应该足够接近您所需要的。好的,我插入了您的代码,什么都没有。我在想这是另外一回事。我甚至没有得到“什么?:”或打印结果。如果您在开始更新过程的submit按钮上查看我的原始代码,可能会出现问题。我认为出于某种原因,它甚至不能使用isset-ssubmit命令。我以前尝试过插入一条警报语句,不管结果如何,但它也没有显示出来。我使用的是“ssubmit”,因此它不会与我稍后将添加到表单中的另一个提交语句冲突。我迷路了,也许它与按钮的位置有关,与update语句或类似的东西有关。“我不确定。”大卫,你为什么在身体之外形成形体?我认为这不是一个有效的HTML文档。
<head>
    :
</head>
<form>
    :
    <body>
        :