PHP 和 SQL 问题

标签 php sql html database

我的函数 db_modif(); 有问题。每次,如果值正确且存在,则消息是第一个(if 条件)。

echo "Il n'y a aucun compte au nom de: ".$username." au site: ".$site." dans la base de données";

因此,我的数据库中没有任何修改 这是我的代码形式的操作:

<?php
  $username = $_POST["user_search"];
  $site = $_POST["adr_search"];
  $fonction = $_POST["fonction"];
  $modif = $_POST["modif_value"];

  $prep ="";

  if(!$username)
    echo 'Nom d\'utilisateur manquant..';
  elseif(!$site)
    echo 'Site manquante..';
  else{
    require("db_action.php");   //Require in the database connection.
    $bd = db_open();                // Open DATABASE

    if($fonction == "usernameOp")
      $prep = "username";
    if($fonction == "adresseOp")
      $prep = "adresse";
    if($fonction == "passwdOp")
      $prep = "password";
    if($fonction == "siteOp")
      $prep = "siteWeb";
    if($fonction == "fonctionOp")
      $prep = "fonction";

    db_modif($prep, $username, $site, $modif);
    db_close($bd);
  }//ELSE

从函数 db_modif(); 中:

function db_modif($prep, $username, $site, $modif){

  error_reporting(-1);  //Activer le rapport de toutes les genres d'erreurs

  $querycon = "UPDATE info_compte SET $prep = '$modif' WHERE username = '$username' AND siteWeb = '$site'";
  if($response = mysql_query($querycon) or trigger_error(mysql_error())){
    echo "<pre>";
    echo "Il n'y a aucun compte au nom de: <b>".$username."</b> au site: <b>".$site."</b> dans la base de données";
    echo "</pre>";
  }
  else{
    mysql_query($querycon);
    echo "<pre>\n";
    echo "Le compte <b>".$username."</b> du site : <b>".$site."</b> a été supprimé avec succès\n";
    echo "</pre>";
  }//ELSE
}//db_modif

最佳答案

将这一行的 AND WHERE 更改为 AND:

$querycon = "UPDATE info_compte SET $prep = '$modif'
             WHERE username = '$username'
             AND WHERE siteWeb = '$site'";

我建议您以后使用 mysql_error() 来帮助调试此类问题。

$response = mysql_query($querycon) or trigger_error(mysql_error());

如果这些变量中的任何一个可以包含引号,您也可能存在 SQL 注入(inject)漏洞。考虑将 mysql_real_escape_string 或 PDO 与准备好的语句一起使用。

关于PHP 和 SQL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5123731/

相关文章:

PHP 用一个 HTML Break 替换双行

php - 在 Doctrine 上优化 MongoDB 查询

java - 在 HQL 上加入声明

mysql - 选择引用同一表中其他元素的元素

jquery - 如何使用jquery将图像添加到div的顶部

javascript - Css 内联样式作为 React 组件中的一个属性

php - 如何让用户以表单形式提交文本并使用 AJAX 将其输入到数据库并显示在同一页面上?

php - 连接 3 个 MySQL 表时遇到问题,从两个表中检索数据 (CodeIgniter)

sql - oracle中列的层次总和

css - 包括 footer.php 和 header.php