MYSQL SELECT max(ID) WHERE Onderdeel_ID=$Onderdeel_ID

标签 mysql select

$result = mysql_query("SELECT max(Cardex_ID) FROM cardex WHERE Onderdeel_ID=$Onderdeel_ID"); if (!$result) { die('Could not query:' . 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");

最佳答案

我建议您使用 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 注入(inject)也是有效且首选的:

    $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); 就可以了

关于MYSQL SELECT max(ID) WHERE Onderdeel_ID=$Onderdeel_ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13680580/

相关文章:

php - WordPress 使用自定义表格数据的永久链接创建自定义页面

mysql - 不知道如何合并两个MySQL表

Java Spring JPA : How to find the sum of only non null values in a column?

php - 如何选择记录并显示文本以及 COUNT?

带有 CONCAT 条件的 MySQL 选择

mysql - 在 case end 命令中使用集合

mysql - SQL - 仅使用一个请求插入多个不重复的条目

mysql - 如何找到一列的最大值并将其放入另一列的特定行

SQLite基于时间格式的SELECT记录 "HH:mm:ss"

Mysql查询查找一列满足多个条件的ID