当前位置: 首页 > 知识库问答 >
问题:

MYSQL选择max(ID),其中onderdeel_id=$onderdeel_id

蒋无尘
2023-03-14

$result=mysql_query(“从cardex中选择max(Cardex_ID),其中onderdeel_id=$onderdeel_id”);if(!$RESULT){die(“无法查询:”.mysql_error());}

    $Cardex_ID = mysql_result($result, 0, 'Cardex_ID');

    echo $Cardex_ID;

    mysql_query("UPDATE cardex SET PADate=$PAdate, PAhours=$PAhours, PAcycles=$PAcycles, PAlanding=$PAlanding WHERE Cardex_ID=$Cardex_ID");

共有1个答案

颜欣怡
2023-03-14

我建议您使用PDO连接到数据库,而不是使用通用连接。另外,如果$onderdeel_id是一个数字,则不需要“”

   $db = new PDO ('mysql:host=localhost;dbname=DB_NAME','DB_USER','DB_PASS');
    $sql = 'SELECT max(Cardex_ID) FROM cardex WHERE Onderdeel_ID='. $Onderdeel_ID;
    $result = $db->query($sql)->fetch(PDO::FETCH_ASSOC);
    echo 'SELECT';
    if (!$result) {
      echo 'RESULT';
    }

注意:使用prepare语句来防止SQL注入也是有效且首选的:

    $db = new PDO ('mysql:host=localhost;dbname=DB_NAME','DB_USER','DB_PASS');
    $db->prepare ( 'SELECT max(Cardex_ID) FROM cardex WHERE Onderdeel_ID=:Onderdeel_ID');
    $result = $db->execute( array( ':Onderdeel_ID' => $Onderdeel_ID ) );

此外,如果您一直有问题,请检查您的$onderdeel_id是否被传递。一个简单的var_dump($onderdeel_id);就能解决这个问题

 类似资料:
  • 我使用的是Eclipselink(JPA)+GlassFish V3.1.2+NetBeans 7.1.2 我有一个带有复合主键的表:

  • 问题内容: 我正在尝试返回记录编号的历史位置 我所拥有的是: 解析大约需要1分钟,并返回如下数据: 我真正希望看到的是像这样的查询中的数据: 哪个返回 第二个查询更好,但我真的只想显示每个记录ID和位置的最后修改时间。 有人可以看到我在做什么吗?感谢您的帮助。 问题答案: 像这样 其核心是…

  • 问题内容: 在将其标记为重复之前,请先看一下此SQLFiddle。 我有这个架构: 子查询: 结果: 现在,这里最棘手的部分是此查询的结果: 这是: 应该是这样的: 您认为查询中有什么问题? 问题答案: 而不是您可以简单地使用相同。也可以改用。 输出: 看到这个SQLFiddle 编辑: 如果要使用它,则必须使用如下子查询: 看到这个SQLFiddle 编辑2: 除了在外部查询中使用之外,您也可以

  • 问题内容: 我有2个表分别命名为项目和任务 在项目表中,我有: 在任务表中,我有: 现在,我该如何从任务表中选择*并在表任务中通过“ project_id”从项目表中获得“名称”? 谢谢 问题答案: 即使项目表中没有记录,使用左联接也可以确保您有所收获。如果要确保连贯性,可以这样做

  • 问题内容: 我有这样构建的mysql表: 当我做: 我得到: 为每个唯一用户生成一个唯一的post_id。 我需要gen_id列为1 2 3 4 5 6等。执行插入操作时如何增加此列。我尝试了以下方法,但无法正常工作。什么是正确的方法? 问题答案: 试试这个:

  • 请帮我把这个select语句转换成MongoDB: 我阅读了这个文档:http://www.mongodb.org/display/docs/aggregate#aggregate-group 但仍然不知道如何应用Max()方法而不是SUM()作为该文档。 谢谢.