根据不同表的值创建PHP请求

时间:2018-12-06 19:10:53

标签: php mysql sql

我试图在一个请求中从不同的表中获取两个值,但是我只想提交该元素之一。我收到语法错误:

{"estado":"1","meta":{"errorInfo":["42000",1064,"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INNER JOIN users' at line 8"]}}

这是我的代码:

 public static function getById($idMeta)
{
    // Consulta de la meta
    $consulta = "SELECT idMeta,
                        titulo,
                         descripcion,
                         prioridad,
                         fechaLim,
                         id_evento
                         FROM meta2 INNER JOIN users ON nombre
                         WHERE meta2.idMeta = ?";

    try {
        // Preparar sentencia
        $comando = Database::getInstance()->getDb()->prepare($consulta);
        // Ejecutar sentencia preparada
        $comando->execute(array($idMeta));
        // Capturar primera fila del resultado
        $row = $comando->fetch(PDO::FETCH_ASSOC);
        return $row;

    } catch (PDOException $e) {
        // Aquí puedes clasificar el error dependiendo de la excepción
        // para presentarlo en la respuesta Json
        return $e;
    }
}

因此,当我尝试在不使用过滤器(WHERE)的情况下执行请求时,它运行良好,但使用了“ WHERE idMeta =?”它不起作用。

新错误:

{"estado":"1","meta":{"errorInfo":["23000",1052,"Column 'idMeta' in field list is ambiguous"]}}

谢谢!

1 个答案:

答案 0 :(得分:1)

您似乎因join_condition而失去了JOIN,应该是

FROM meta2 INNER JOIN users ON users.id=meta2.user_id