簡體   English   中英

PHP更新查詢不起作用

[英]Php update query not working

這段代碼具有一種形式,當使用單擊提交時,我試圖更新數據庫,但是由於某種原因,我不知道我的更新查詢無法正常工作,這段代碼檢測到錯誤

 catch(PDOException $ex)
      {
        die("Error");
      }

有關如何解決此問題的任何想法

if(empty($_SESSION['user']))
{
  header("Location: index.php");
  die("Redirecting to index.php");
}

if(!empty($_POST))
{
  if(empty($_POST['name']))
  {
    die("Enter a name");
  }

  $query = "SELECT 1 FROM courses WHERE name = :name";
  $query_params = array(':name' => $_POST['name']);

  try
  {
    $stmt = $db->prepare($query);
    $result = $stmt->execute($query_params);
  }
  catch(PDOException $ex)
  {
    die("Error 1");
  }

  $row = $stmt->fetch();

  if($row)
  {
      die("Same Name");
  }

  $nombre = $_SESSION['user']['username'];
  $name = $_POST['name'];
  $query = "UPDATE courses SET name = '$name' WHERE id = 1)";


  try
  {
    $stmt = $db->prepare($query);
    $stmt->execute();
  }
  catch(PDOException $ex)
  {
    die("Error");
  }

  header("Location: index.php");
  die("Redirecting to index.php");
}


?> 
<?php 
foreach($rows as $row):    
  echo '<form action="mod.php" method="post">';
  echo '<input type="text" name="name" value="' .htmlentities($row['name']) . '" />'; 
  echo '<input type="submit" value="submit">';
  echo '</form>';
endforeach; 

正確的方式

$query = "UPDATE courses SET name = '$name' WHERE id = 1";

最后有一個括號。

 $query = "UPDATE courses SET name = '$name' WHERE id = 1)";
                                                         ^---- Here

正如Gerald Schneider在此評論中提到的,請進行更改,以便您可以輕松跟蹤錯誤。

確保通過以下方式放置PHP變量:

$query = "UPDATE courses SET name = '".$name."' WHERE id = 1";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM