【问题标题】:Update last row in mysql from PHP从 PHP 更新 mysql 中的最后一行
【发布时间】:2015-09-06 06:32:16
【问题描述】:

我尝试使用用户输入的电子邮件更新表中的最后一行 电子邮件列是可选的

HTML

我使用第一个表单返回项目详细信息并更新 Mysql 表 - 工作正常, 如果用户想要接收更新,我会为电子邮件更新添加第二个输入

form action="actionemail.php" method="POST" onsubmit="return checkMail(this);">...</form>

checkMail 不起作用

Javascript

function checkMail(){
 if ( theForm.checkbox.checked == false) 
 {
       alert('Did not check box');
       return false;
 } else {  
     return 'Thank you we will update you';
 }
}

我想用用户电子邮件输入更新表中的最后一行到电子邮件列,所以我有两个服务器调用表单工作正常

我在 php 脚本中使用了这段代码 (详情已删除)

<?
 php $servername = "localhost"; $username = ""; $password = "";
 $dbname ="";

 $conn = mysqli_connect($servername, $username, $password, $dbname);

 if (!$conn) {
   die("Connection failed: " . mysqli_connect_error()); }

  //$time = date('Y-m-d H:i:s');  //$IP = "$_SERVER[REMOTE_ADDR]";

 $email = $_POST["email"];

//$sql = "INSERT INTO enterlog (ItemCode, EnterDate, IPAddress, Email) VALUES ('$itemCode', '$time', '$IP', '$email')";


  $last = "SELECT MAX(LogID) FROM enterlog";

  $sql_update = "UPDATE enterlog SET Email='.$email.' WHERE logid=$last";

   if (mysqli_query($conn, $sql_update)) {
      echo "<h5>thank you"; } else {
      echo "Error: " . $sql . "<br>" . mysqli_error($conn); }

    mysqli_close($conn); 
?>

我收到此错误(新):

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“SELECT MAX(LogID) FROM enterlog”附近使用正确的语法

我设法在表格中添加新行,我无法将电子邮件可选输入添加到最后一行。

那怎么了?

【问题讨论】:

  • 你遇到了什么错误??
  • 你回显 $email 了吗?有没有价值,或者是NULL
  • @PrashantSrivastav 我收到“错误:”> 无法更新表格,
  • @Jeff 回显时显示错误,因此表单有效..
  • if (mysqli_query($conn, $row)) $row 未定义。

标签: javascript php mysql forms


【解决方案1】:

首先从

开始更改您的 php 文件
<?
 php

&lt;?php

并更改以下行

$last = "SELECT MAX(LogID) FROM enterlog";
$sql_update = "UPDATE enterlog SET Email='.$Email.' WHERE logid=$last";

到:

$last = "SELECT MAX(LogID) AS last_id FROM enterlog";
$result = mysqli_query($conn, $last);
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
$last_id = $row['last_id'];

$sql_update = "UPDATE enterlog SET Email='$Email' WHERE logid='$last_id'";

【讨论】:

  • 它成功了!还需要将电子邮件修复为电子邮件。你能解释一下你的代码吗
  • 如何将成功消息设置为显示在同一页面上而不是新页面上?
  • 在同一页面action="Your_Current_Page"提交页面,并在页面顶部设置更新代码。
  • 我明白,但它返回页面顶部,我更喜欢使用 jacascript 所以返回显示在
    的表单下
  • 将您的消息存储在variable 并使用javascript 命令&lt;script&gt;alert(&lt;?php echo $your_var_name; ?&gt;);&lt;/script&gt;
猜你喜欢
相关资源
最近更新 更多
热门标签